環境:WIN2003+IIS6+PHP5
本機,2003下IIS6,配置php5,mysql ,phpMyAdmin。
現在php及mysql都可以正常運行,架phpwind論壇也能正常運行。
配置好ecshop的幾個參數後(就是那幾個用戶名,密碼什麼的),在浏覽器中運行ecshop,
返回如下提示:
Warning: require(../includes/init.php) [function.require]: failed to open stream: No such file or directory in C:AppServwwwindex.php on line 22
Fatal error: require() [function.require]: Failed opening required '../includes/init.php' (include_path='.;C:php5pear') in C:AppServwwwindex.php on line 22
原來原因是這樣的:PHP程序到服務器,只能在目錄中運行,無法在網站根目錄運行,還是目錄權限的問題。 / www.phpky.cn
解決方法如下
看下,D盤權限為administrator,下面有一目錄為網站目錄Web,權限為administrator,然後Web目錄下面是各個網站的目錄,比如說ecshop目錄,平時的建法是ecshop目錄權限為administrator,下面再建Data目錄和Web目錄,這兩個目錄的權限是權限為administrator+web_ecshop(IIS運行帳號),這樣問題就來了,放根目錄的PHP程序就會出現各種各樣的問題,就是不能正常運行,這應該是目錄權限繼承的問題。
正確的權限設定是ecshop目錄權限為administrator+web_ecshop(IIS運行帳號),下面的兩個目錄權限為繼承,也就是網站根目錄的上級目錄的權限要和網站根目錄權限一樣這才樣就沒問題了。