我想安裝一個用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域中的網絡託管設置中啓用的。
您是否真的在腳本中輸出任何HTTP標頭?如果您在問題中包含腳本的簡化版本,這將有所幫助。 – ThisSuitIsBlackNot
感謝您的意見,抱歉,我忘了提及#!指向服務器上正確的perl位置,並且還檢查了CRLF行結束符 –
是否有任何內容正在寫入到Web服務器錯誤日誌中? –