今晚我在使用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相關知識,請造訪PHP中文網!
以上是命令列下可以跑PHP腳本,但是透過瀏覽器卻不能跑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!