解決apache上訪問 cgi腳本時總是在網頁中顯示出腳本的源代碼而不是執行結果的問題


apache是支持cgi腳本的,但是需要保證四個條件:

1.放置cgi腳本的文件夾本身需要對apache服務器這個用戶(一般默認用戶名是www,linux下的用戶機制請自行百度)開放x(即可執行)權限。

2.這個腳本本身必須對apache服務器這個用戶開放x權限

3.腳本的首行附有如何使用什么解釋器執行該腳本代碼的信息

如python腳本首行

#!/usr/bin/env python

4.apache需加載了mod_cgi.so這一動態鏈接庫

最后這個問題不是經常遇到但由於容易被忽略所以常常是致命所在。

這里大家需要自行去熟悉下apache的目錄結構(參見http://blog.csdn.net/jibcy/article/details/8060651),而且2.2和2.4兩個版本結構還不太一樣,不過只是2.4更細致化了,基本的原理還是差不多。所以上面的那個問題通過在配置文件里(可以直接是httpd.conf/apache2.conf或者規范一些看看文件中include語句里表明的有哪個補充配置文件是管modules的到那個里面也行)加上

LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so 解決。(注意/usr/lib/apache2/modules/mod_cgi.so是我電腦里mod_cgi.so的存放路徑,如果不是這個路徑的得自行查找mod_cgi.so存放的地方)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM