2015-06-28 90 views
0

任何人都可以幫助我解決這個問題嗎?這一個錯誤我要幾天?perl cgi「標題之前腳本輸出結束」

環境:
在Fedora 21上運行一個簡單的Perl CGI腳本,
Server版本:阿帕奇/ 2.4.10(Fedora的),
這是Perl 5中,版本18,顛覆4(v5.18.4)建爲x86_64的Linux的線程多,
getenforce:允許式

CGI腳本:

#!/usr/bin/perl 
print "Content-type: text/html\n\n"; 

use strict; 
use warnings; 
print "Hello, world!<br />\n"; 

foreach my $key (keys %ENV) { 
    print "$key --> $ENV{$key}<br />"; 
} 


問題:
該腳本不會運行在127.0.0.1/~username/subfolder/
我應該知道如何設置perl-cgi環境,並且相同的代碼在127.0.0.1/cgi-bin,127.0上工作.0.1/cgi-bin/subfolder /,127.0.0.1/~username/

當用戶的子文件夾下執行腳本時,我總是得到「腳本輸出結束前的標題」。
任何人都可以幫忙嗎?謝謝

+1

建議你看一下你的apache配置文件。查找將cgi-bin定義爲有效的文件夾來運行腳本的部分,並添加你想要的其他文件夾。另外,您的腳本和文件夾需要執行權限,例如chmod文件爲755. –

+1

查看您的Apache日誌文件「結束腳本..」錯誤的原因經常出現在那裏。 – eeijlar

回答

0

如果沒有更多的細節,我們無法診斷您的問題,因爲那個錯誤意味着apache在運行您的腳本時沒有達到那麼遠。

現在,因爲這是腳本的第一行,所以很可能意味着apache根本無法運行它。

這個常用的罪魁禍首是:

  • 腳本無法執行
  • 代碼,否則斷,使得它不與perl -c編譯。

解決的辦法是檢查你的apache日誌,從這種情況發生時將捕獲STDERR,這將幫助你診斷它。