1.查看PHP當前加載的php.ini文件地址,在控制台輸入以下命令:
php -i | grep php.ini
2.控制台返回的信息
Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php7.2.10/conf Loaded Configuration File => /Applications/MAMP/bin/php/php7.2.10/conf/php.ini
3.在此php.ini下方補充擴展:例如
extension=redis.so
extension=pcntl.so
4.再次通過php-m命令查看發現需要的擴展已經出現了(前提已經安裝)
5.運行實際項目也沒有了保存問題
以我MAC 運行的thinkphp項目為例 引入了第三方擴展 Workerman,已經確定pcntl擴展已經安裝但是通過cli運行依然提示以下報錯
[think\exception\ThrowableError]
Fatal error: Call to undefined function Workerman\pcntl_signal()
通過phpinfo()函數發現pcntl擴展已經安裝完成,但是使用php-m並未找到pcntl擴展
使用以上方法找到命令行模式下php加載的php.ini文件,在文件底部加入擴展
extension=pcntl.so
在此使用 php think worker:server 運行服務已經沒有了報錯,問題解決