解決PHP的failed opening required問題的方法

來源:文萃谷 2.02W

人要想學習一點東西,就應該先學會謙遜。以下是小編為大家搜索整理的解決PHP的failed opening required問題的方法,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

解決PHP的failed opening required問題的方法

環境:WIN2003+IIS6+PHP5

本機,2003下IIS6,配置php5,mysql ,phpMyAdmin。

現在php及mysql都可以正常運行,架phpwind論壇也能正常運行。

配置好ecshop的幾個參數後(就是那幾個用户名,密碼什麼的),在瀏覽器中運行ecshop,

返回如下提示:

Warning: require(../includes/) [ire]: failed to open stream: No such file or directory in C:Ap on line 22

Fatal error: require() [ire]: Failed opening required '../includes/' (include_path='.;C:php5pear') in C:Ap on line 22

原來原因是這樣的:PHP程序到服務器,只能在目錄中運行,無法在網站根目錄運行,還是目錄權限的問題。 /

解決方法如下

看下,D盤權限為administrator,下面有一目錄為網站目錄Web,權限為administrator,然後Web目錄下面是各個網站的目錄,比如説ecshop目錄,平時的建法是ecshop目錄權限為administrator,下面再建Data目錄和Web目錄,這兩個目錄的權限是權限為administrator+web_ecshop(IIS運行帳號),這樣問題就來了,放根目錄的PHP程序就會出現各種各樣的問題,就是不能正常運行,這應該是目錄權限繼承的問題。

正確的權限設定是ecshop目錄權限為administrator+web_ecshop(IIS運行帳號),下面的兩個目錄權限為繼承,也就是網站根目錄的上級目錄的權限要和網站根目錄權限一樣這才樣就沒問題了。

  【相關閲讀

  解決PHP無法訪問遠程MySQL的問題

問題是這樣的:有A,B,C三台服務器,C為服務器,B可以用PHP成功連接上C機器的mysql,而A機器則不能連接!

可以説,肯定不是代碼有什麼問題,服務器上的mysql設置也是沒什麼問題的,因為B機器都是可以的。

肯定是A機器的設置有問題!

在網上一頓搜,各種説mysql授權問題的,以及修改的,修改防火牆的,事實上都不是這些問題導致的。

最後想到了SELINUX的'問題,對比了下AB兩台機器,果然設置不一樣!估計就是它的問題,有戲!

進行了如下設置:

root下,用vim打開文件文件/etc/selinux/config

修改SELINUX的值:

#SELINUX=enforcing

SELINUX=disabled

保存並退出。

重啟生效,如果不想重啟,命令行輸入

setenforce 0

回車,OK


熱門標籤