我想使用信号量函数。 安装说明读取
对这个function的支持默认是不启用的。 要启用System V信号量支持,请使用选项–enable-sysvsem编译PHP。 要启用System V共享内存支持,请使用选项–enable-sysvshm编译PHP。 要启用System V消息,请使用选项–enable-sysvmsg来编译PHP。
但是我正在运行Linux的XAMPP。 这是否意味着我不可能使用信号量函数? 我也想知道为什么必须重新编译所有的PHP,而不是调整一个php.ini设置或添加一个新的模块。
但是我正在运行Linux的XAMPP。 这是否意味着我不可能使用信号量函数?
完全不需要,只需要获取具有可用扩展名的XAMPP版本即可。 或者,你可以自己编译PHP。
我也想知道为什么必须重新编译所有的PHP,而不是调整一个php.ini设置或添加一个新的模块。
因为模块源是PHP源的一部分。 然后,您将所有内容编译为PHP二进制文件,而不是共享库文件。 这只是模块的devise。 为了调整你的php.ini,你需要一个外部库文件,参见PHP ext目录。
你很可能不得不重新编译。 除非你可以find它有一个插件,但所谓的系统V共享内存即时将假设不会来作为一个插件:(
其实,一个快速的谷歌提出了这个http://www.php.net/manual/en/sem.installation.php ,所以没有对不起:
如果你不能启用一个选项看你的configuration文件(在这种情况下,在Windows上的php.conf或php.ini)。 这将帮助你看到选项,如果它的安装。 如果未安装,则安装此function的XAMPP版本,或者您必须重新编译
除非您为系统使用预编译的二进制文件,否则PHP会编译您为系统指定的所有内容。 例如,如果您需要MySQL支持,但不支持数据库的MSSQL,PHP将不会编译该types的数据库连接所需的MSSQL库。 你可以用所有的选项来编译PHP来获得所有的库,但是通常你不需要所有的库。
总之,系统没有PHP的编译库加载。
如果您需要重新编译,则取决于您是否可以为系统find预编译的二进制文件。 我不确定关于XAMPP的Linux。
相同types的问题的ServerFault:
如何在不重新编译PHP的情况下启用dom?