2013-07-23 69 views
0

我最近在我的Oracle Linux計算機上用PHP(5.3)設置了我的Apache服務器(2.2)。最初,我創建了三個文件:index.htmlindex.phpcountries.html。我相信(不記得100%),我在我的/var/www/html/文件夾中創建這些文件,並將這些文件被自動給予兩個所有者和組根權限。然而,當我複製我的index.html到我的主目錄(不是root),我不再能夠訪問該文件(403消息 - 禁止訪問),即使我把它放回它的原始/var/www/html/文件夾,並改變了它的權限所有者並重新組成Apache:從另一個目錄複製的文件不起作用

值得注意的是,我的index.php文件是默認頁面,即使它未在DirectoryIndex中列出。此外,我嘗試使用我的index.php文件進行實驗,方法是複製它,刪除原件,將複製的版本移回/var/www/html/文件夾,然後更改權限。同樣的結果,它沒有工作。唯一的區別是php文件拋出了一個內部服務器錯誤(HTTP錯誤500)。

我已將countries.html文件添加到我的DirectoryIndex行中,現在它將顯示爲默認頁面。不過,如果我刪除它,離開我的DirectoryIndex線,因爲它是:

DirectoryIndex index.html index.html.var 

那麼它會默認爲我的index.php頁面輸出的內部服務器錯誤。

現在,我看到一對夫婦的問題:

  1. 複製的文件不工作,儘管有相同的權限。我相信我的複製index.php文件的實驗證明了這一點。
  2. 默認頁面,這是index.php,是不是在DirectoryIndex上市,但它仍然是默認的。

任何幫助/洞察力,將不勝感激。

回答

0

這也可能會發生的情況下,當您使用舊版本的PHP和你的PHP文件中,有一些語法與新的PHP版本。在php 5.3中,我們沒有簡短的數組符號,但是在5.5中,我們也在5.4中,我想這也可能會導致內部服務器錯誤。

通過

php -v 

,如果它的版本看到PHP版本5.3或更低檢查你的PHP文件,如果包含了像新的空頭排列標記任何新的東西[]。

不知道我在要在其中同樣的背景下說話。因爲我不太瞭解這個問題。

+0

不太確定這個短數組符號應該是什麼。這是php.ini文件中的一個選項嗎?或者這是文件中使用的更多語法? – Zhouster

+0

這是新的數組聲明語法。早先我們用來做$ arr = array()。 現在我們也可以做$ arr = []。 – mSatyam

相關問題