2011-11-09 109 views
0

我有使用mac設置多個Perl程序的經驗,但今天遇到了一個奇怪的情況。Perl沒有運行

我刪除了一個現有的Perl文件夾並從GitHub下載,當我嘗試再次運行時,它顯示此錯誤:[處理此指令時發生錯誤]。

所以,我做什麼調試是:

1)創建test.shtml中(有些問題在這裏顯示的箭頭標誌)

#exec cgi="/Users/lion/htdocs/app/cgi-bin/test.pl"--> 

2)創建test.pl

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

3)我創建了一個新的htaccess

AddType text/html .shtml 
AddHandler server-parsed .shtml 

4)我設置test.pl權限777

5)本人與http://app.local/test.shtml 測試 - >出來錯誤[同時處理這個指令發生錯誤。

6)如果我手動從控制檯運行,它工作正常。

這是我的apache配置。

<VirtualHost *:80> 
    DocumentRoot "/Users/lion/htdocs/app" 
    ServerName app.local 
    ScriptAlias /cgi-bin/ "/Users/lion/htdocs/app/cgi-bin/" 
</VirtualHost> 

我的Apache錯誤日誌顯示此:

[Wed Nov 09 16:45:25 2011] [error] [client 127.0.0.1] invalid CGI ref "/Users/lion/htdocs/app/cgi-bin/test.pl" in /Users/lion/htdocs/app/test.shtml 

不知道我錯過了,我的其他的Perl程序運行得很好。什麼原因導致問題,用盡想法。

回答

3

exec cgiexpects a URL-path,不是文件系統路徑作爲參數。

嘗試

#exec cgi="/cgi-bin/test.pl" 

或只是

#exec cgi="test.pl" 
+0

我在另一個perl安裝程序上運行沒有問題。我不認爲這是原因。 – TonyTakeshi

+2

你試過了嗎? –

0

好,有時開支調試完畢後,發現原因是在cgi-bin目錄認證,它會阻止重定向的.htaccess。