php開啟PATH_INFO的方法


php開啟PATH_INFO的方法

Apache開啟教程:http://blog.csdn.net/zhaojindong33/article/details/68067079

pache2.2.22開啟PathInfo模式的支持

昨天新配置了一個PHP集成開發環境,安裝完后,把項目放到Apache服務器的www目錄下,發現只能打開首頁,其他頁面全部無法打開,當時比較納悶,以為是服務器沒有配置好,測試了一下,發現環境配置沒有問題。於是我想,該項目是采用ThinkPHP框架開發的,在配置文件中設置的是PathInfof訪問模式,會不會是這個問題呢?於是我采用傳統的URL參數模式嘗試進行訪問,發現沒有問題。於是,很明顯,真相只有一個,當前的服務器並不支持PathInfof模式訪問。既然知道問題出在哪里,那么,接下來就好辦了。
找度娘問了一下,大體說的都是Apache2在默認情況下沒有開啟PathInfof模式,需要自行開啟,並給出了如下三種解決方法:
一:
在PHP安裝文件夾下找到PHP.INI,

;cgi.fix_pathinfo=1
改為
cgi.fix_pathinfo = On
保存,重啟服務器即可
也有的說將
;cgi.fix_pathinfo=1
之前的;去掉,即改為
cgi.fix_pathinfo=1
保存,重啟服務器的。
但是我的嘗試發現,這樣並不能解決問題,於是決定采用第二種方法;

二:
打開Apache安裝文件夾下的conf文件夾,找到httpd.conf文件中找到下面這段代碼
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
AcceptPathInfo On //加入這行代碼就OK了
不幸的是,按照上面的方法,還是失敗了。木辦法,只能試下第三種方法了;
三:
在配置文件中加入
AcceptPathInfo On
這樣 Apache 就可以支持針對 php 文件的 PathInfo 了。
於是,小柒又充滿希望的試了一下,可惜,還是沒有成功。
我想,這PathInfo跟URL有關,那會不會是因為Apache服務器沒有開啟mod_rewrite模塊的關系呢?於是,我在Apache的配置文件(Apache安裝目錄的conf文件夾下的httpd.conf文件)里找到:

LoadModule rewrite_module modules/mod_rewrite.so

將前面的#去掉,改為:
LoadModule rewrite_module modules/mod_rewrite.so
保存,重啟服務器后,項目終於可以使用PathInfo模式訪問了。


 

Nginx開啟教程:https://blog.linuxeye.cn/347.html


免責聲明!

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



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