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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM