命令列下可以跑PHP指令碼,但是通過瀏覽器卻不能跑?

2020-07-16 10:05:48
今晚我在使用YAF框架的時候,遇到了一個問題:命令列下可以跑YAF框架的入口檔案,但是通過瀏覽器卻不能跑?

這個問題折騰了我一晚上,好在一個群友慢慢幫我分析了一波,非常感謝!

原因是:我的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其它相關文章!