php-m 與 phpinfo 不一致的解決辦法
阿新 • • 發佈:2018-12-08
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 執行服務已經沒有了報錯,問題解決