2016-10-31 39 views
0

我正在使用MAMP Pro来管理我的开发环境,PHP是7.0.12版并且正在模块模式下运行。使已安装的PCNTL扩展可用于MAMP中的命令行PHP

我已经为PHP添加了pcntl模块并按照this answer的指示编译了它。

pcntl.so文件位于我的/Applications/MAMP/bin/php/php7.0.12/lib/php/extensions/no-debug-non-zts-20151012文件夹中。另外,在我的虚拟主机上,我可以输出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不输出任何东西。

有没有办法让pcntl模块可以通过除apache正在使用的命令行提供给PHP?

+1

典型地,该模块和PHP的CLI版本使用单独的'php.ini'文件。也许你只在其中一个中提到了新模块? – arkascha

回答

0

MAMP使用两个独立的ini文件用于PHP。

一个可通过GUI编辑,另一个需要手动编辑。对于此PHP版本的扩展必须在/Applications/MAMP/bin/php/php7.0.12/conf/php.ini

加入添加extension=pcntl.so到上述ini文件后,运行php -i | grep pcntl将输出

pcntl

pcntl support => enabled