首頁  >  文章  >  後端開發  >  命令列下可以跑PHP腳本,但是透過瀏覽器卻不能跑?

命令列下可以跑PHP腳本,但是透過瀏覽器卻不能跑?

angryTom
angryTom轉載
2019-10-15 10:41:582106瀏覽

今晚我在使用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中文網其他相關文章!

陳述:
本文轉載於:huanghantao.github.io。如有侵權,請聯絡admin@php.cn刪除