我一直在玩我的Mac一個網絡服務器,現在我試圖做一個簡單的HTML表單,並打印出輸入的Perl腳本。我將/ Library/WebServer/Documents鏈接到〜/ Sites /,所以我的index.html和display.cgi都在那裏。但是當我按下提交時,perl文件只顯示爲文本。我擁有的任何cgi文件都沒有執行,它只是顯示爲文本。我究竟做錯了什麼?謝謝。爲什麼我的Perl CGI腳本在瀏覽器中顯示爲純文本?
1
A
回答
3
除非您的服務器專門設置爲運行/Library/WebServer/Documents
文件夾中的perl腳本,否則您必須改爲將它們放入/Library/WebServer/CGI-Executables
。 (然後從URL中的/cgi-bin/
路徑訪問它們,例如http://localhost/cgi-bin/display.cgi
。)
一旦你這樣做了,確保你已經在Perl腳本上設置了權限,以便它是可執行的。爲此,請轉到終端中的包含目錄,然後鍵入chmod a+x display.cgi
。
此外,請檢查腳本的第一行(shebang行)是否具有正確的perl路徑。在我的Mac上,Perl位於/usr/bin/perl
,但如果您想檢查自己,請運行命令which perl
。
0
不要忘了加#號的「認領線」的前面,如下面的例子:
#!d:/perl/bin/perl
#!/usr/local/bin/perl -w
注:-w會顯示警告。
0
爲了回答您的其他問題:
要從cgi-bin
目錄以外使用CGI腳本,你可能不得不潛入配置文件。主要的是/private/etc/httpd/httpd.conf
,您必須使用終端才能到達,因爲/private/
目錄默認爲隱藏。
或者,您可以在要放置腳本的目錄中創建一個.htaccess
文件。 This manual page應該可以幫助你計算出放在那裏的東西。請注意,Apache手冊中不包含任何Mac特定的信息,因爲它也用於其他操作系統。
相關問題
- 1. 在瀏覽器中顯示爲文本的Perl CGI
- 2. 在瀏覽器中顯示爲純文本的html代碼
- 3. 爲什麼我的Perl CGI腳本抱怨「Can not locate CGI/Simple.pm」?
- 4. 爲Perl CGI腳本
- 5. 在瀏覽器中不顯示結果的CGI腳本
- 6. 將PHP腳本作爲瀏覽器中的文本顯示
- 7. 爲什麼瀏覽器不顯示腳本發回的圖像?
- 8. 爲什麼從我的Perl CGI腳本中調用mutt失敗?
- 9. 爲什麼我的WebView在純文本HTML中顯示RSS?
- 10. 瀏覽器爲XML/XSLT顯示純文本而非HTML
- 11. 爲什麼瀏覽器不能顯示本地的ASP.NET文件?
- 12. 爲什麼我的超鏈接標籤在瀏覽器上顯示爲純文本?
- 13. 爲什麼python CGI腳本會在附加變量之後顯示一個網頁作爲純文本?
- 14. 爲什麼我的Perl CGI腳本不工作?
- 15. 爲什麼cgi腳本必須留在cgi-bin文件夾中?
- 16. 在我的瀏覽器中運行一個CGI腳本WAMP
- 17. 的Perl CGI腳本運行的純文本
- 18. 爲什麼我無法在我的CGI腳本中獲取cookie?
- 19. 瀏覽器顯示的純文本而不是HTML在Mac
- 20. 爲什麼腳本下載防止並行在瀏覽器中
- 21. 爲什麼我從我的Perl CGI腳本中得到一個空白頁面?
- 22. 爲什麼我的Perl CGI腳本出現500內部服務器錯誤?
- 23. 爲什麼我的Perl CGI腳本會導致500內部服務器錯誤?
- 24. 爲什麼我的瀏覽器不能識別html文件中的php腳本?
- 25. 瞭解XML/RSS ...爲什麼RSS瀏覽器的本地副本不會顯示在瀏覽器中?
- 26. 從Perl CGI腳本輸出XML到瀏覽器?
- 27. AngularJS顯示爲純文本
- 28. 爲什麼我的Perl CGI抱怨「腳本頭文件過早結束」?
- 29. Perl CGI將圖像顯示到瀏覽器的文件
- 30. Python cgi腳本僅在完成後纔在瀏覽器中顯示輸出
+1,這是100%的web服務器配置和0%perl。 – hobbs 2009-10-18 02:09:04
+ 1,擊敗我的三件事情來檢查你的cgi腳本被提供靜態:目錄的ExecCGI選項,cgi和shebang行的+ x權限是有效的。 – Mark 2009-10-18 02:11:37
我的shebang已經是/ usr/bin/perl。謝謝,這工作,但你也可以回答我的問題關於名稱/ ID? – mk12 2009-10-18 02:18:49