2014-01-22 105 views
0

我想安裝一個用perl編寫的FileManager軟件,並且根據它的說明我必須將一系列文件上傳到我希望安裝的子域的cgi-bin中它在我的服務器上。我收到的錯誤消息是500內部服務器錯誤,並且當我檢查域名上的error_log時,該錯誤簡單地指出'腳本標題的提前結束:文件名'。無法從CGI-BIN運行.pl文件

我認爲這可能只是一個軟件錯誤,所以我上傳了一個簡單的perl文件,它應該只是輸出一些html到屏幕上,我確認這個文件在我的本地環境中工作(windows 7 + xampp ) - 然後將我的路徑修改爲文件頂部的perl註釋以反映服務器上的正確路徑;這樣做後,我仍然收到相同的500錯誤代碼和腳本日誌過早結束。

這告訴我,這不是文件的錯誤,而是與我的配置設置有關 - 奇怪的是,如果我使用PuTTy在我的服務器的命令行上運行簡單的'HTML outputter'文件,我得到正確的輸出。

然後這讓我覺得它可能是一個文件的權限問題,但是在爲了測試目的CHMOD'CIN-bin和文件到777之後,我不太確定 - cgi-bin目錄是擁有的通過我用來上傳文件的FTP用戶並且是PSASERV組的一部分,但是我對權限不太瞭解,所以我不確定這是否相關。

我試圖安裝軟件的服務器是CentOS linux distro,運行PLESK 9.5.2,PERL,CGI和PHP支持都是在PLESK域中的網絡託管設置中啓用的。

+0

您是否真的在腳本中輸出任何HTTP標頭?如果您在問題中包含腳本的簡化版本,這將有所幫助。 – ThisSuitIsBlackNot

+0

感謝您的意見,抱歉,我忘了提及#!指向服務器上正確的perl位置,並且還檢查了CRLF行結束符 –

+0

是否有任何內容正在寫入到Web服務器錯誤日誌中? –

回答

0

感謝您向所有對此問題感興趣的人士提出的意見,我終於設法解決了這個問題;我相信這是一個Plesk權限問題,即從cgi-bin運行perl腳本,無論腳本擁有者或腳本設置爲777還是其他方式,目錄和腳本都必須成爲組「psacln」的一部分。