1. 程式人生 > >php-m 與 phpinfo 不一致的解決辦法

php-m 與 phpinfo 不一致的解決辦法

 

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 執行服務已經沒有了報錯,問題解決