這個問題折騰了我一晚上,好在一個群友慢慢幫我分析了一波,非常感謝!
原因是:我的FPM並沒有使用yaf.so,但是CLI使用了yaf.so。
那麼為什麼會出現這種情況呢?因為命令列和PHP-FPM是兩個不同的SAPI,它們可以載入不同路徑下的php.ini檔案。
而通過:php php檔名
這種方式是使用CLI這個SAPI。
通過:http://localhost/index.php
這種方式使用的是FPM這種SAPI。
那麼我們如何檢視CLI模式下新增了哪些擴充套件呢?使用:
php -m
而在PHP指令碼中使用如下函數:
<?php phpinfo();
則可以檢視PHP-FPM新增了哪些擴充套件。
我放錯誤的原因主要是我一直以為CLI和FPM一定共用同一個php.ini檔案,其實不一定,這是在編譯PHP原始碼的時候可以指定的。
emmm,希望可以幫助到大家。
基礎真的很重要……
happy ending……
以上就是命令列下可以跑PHP指令碼,但是通過瀏覽器卻不能跑?的詳細內容,更多請關注TW511.COM其它相關文章!