我使用MAMP Pro来管理我的开发环境,PHP版本为7.0.12,以模块模式运行。
我已经为PHP添加了pcntl模块,并按照这个答案中的指示进行了编译。
pcntl.so文件在我的/Applications/MAMP/bin/php/php7.0.12/lib/php/extensions/no-debug-non-zts-20151012
文件夹中。此外,在我的vhost上,我可以输出phpinfo()
并验证扩展是否已安装,并由function_exists('pcntl_signal')
进行额外检查,结果返回true。
然而,在终端上运行PHP时,我无法使其正常工作。我正在使用MAMP安装的那个,并通过/Applications/MAMP/bin/php/php7.0.12/bin/php
调用它。然而,我得到的错误是函数pcntl_signal不存在。
同样,运行/Applications/MAMP/bin/php/php7.0.12/bin/php -i | grep pcntl
不会输出任何内容。
除了apache正在使用的命令行之外,还有没有办法通过命令行使pcntl模块对PHP可用?
MAMP在PHP中使用了两个独立的ini文件。
一个可以通过GUI进行编辑,另一个需要手动编辑。对于这个PHP版本,必须在/Applications/MAMP/bin/php/php7.0.12/conf/php.ini
中添加扩展
在上述ini文件中添加extension=pcntl.so
后,运行php -i | grep pcntl
将输出
pcntl
pcntl support => enabled