我發現了很多Perl的東西,但沒有爲C++。我現在正在運行Ubuntu,但我對它並不熟悉,所以簡單的指令會很棒。我剛剛編寫了一個小型C++程序作爲CGI工作,我需要對其進行測試。謝謝!如何爲C++ CGI腳本配置apache?
1
A
回答
2
你不應該需要做什麼特別的事情;只是把它編譯成一個名爲*.cgi
(或諸如此類的東西)的可執行文件,並確保你在你的服務器配置或.htaccess
或諸如此類的東西有
AddHandler cgi-script .cgi
(或諸如此類的東西)。
(免責聲明:。它已經多年,因爲我做到了這一點,所以我可能會忘記的東西,但是我認爲這應該是你所需要的)
1
沒有什麼特別的C++程序。 CGI程序由Web服務器執行。因此,先決條件與Perl腳本/程序一樣。
下面是一些提示得到一個C++ CGI程序啓動和運行。
把一個簡單的可執行文件放在cgi-bin目錄下,並使其可以被web服務器執行。準備一個簡單的程序,返回一個有效的CGI響應,例如
#include <iostream> using namespace std; int main() { cout << "Content-Type: text/html" << endl << endl; cout << "Hello to Apache and Firefox!" << endl; return 0; }
在命令行中執行程序並檢查輸出是否以下列行開始。確保Content-Type之後的空行。
$ ./hello_world Content-Type: text/html Hello to Apache and Firefox!
增加的LogLevel調試,並期待到Web服務器的錯誤日誌。搜索訪問日誌,錯誤日誌和suexec.log。查看您正在使用的虛擬主機的日誌以及主要的error.log。在我的Ubuntu系統上,文件位於
/var/log/apache2
,並命名爲access.log,error.log和suexec.log。我的一個問題,最後是「目錄是由別人寫的:」 ......使用的DLL確保庫仍然可以在Web服務器上。將RPATH設置爲指向帶庫的自定義目錄。在這方面
ldd
和objdump -x <executable> | grep RPATH
是你的朋友。 (Apache文檔中的這個提示並不適合我:使用Apache的mod_cgi模塊的ScriptLog指令來觀察輸入和輸出ScriptLog只能在開發服務器上使用更多詳細信息請參考mod_cgi頁。)更多的提示顯示文章Debugging Apache Web Server Problems英寸
相關問題
- 1. 如何配置Apache以運行Perl CGI腳本?
- 2. 在windows上配置apache 2.4.3 for CGI腳本
- 3. 配置Apache運行python(CGI)
- 4. Apache log腳本配置
- 5. bash配置文件perl cgi腳本
- 6. 用於Apache cgi腳本的LD_LIBRARY_PATH
- 7. 如何使用C++ CGI腳本?
- 8. 爲Perl CGI腳本
- 9. 不能讓Apache執行perl CGI腳本
- 10. 使用Apache + SSL執行CGI腳本
- 11. Ruby Apache CGI腳本頭過早結尾
- 12. 在Apache中運行CGI腳本
- 13. 配置Apache使用Python就像CGI PHP
- 14. 無法寫入與Apache CGI腳本
- 15. 如何chelude cgi bin腳本?
- 16. 如何在CGI腳本中調用另一個Perl CGI腳本?
- 17. 如何從另一個perl cgi腳本調用perl cgi腳本
- 18. 我的cgi腳本無法寫入Apache的cgi-bin文件夾
- 19. 配置Apache Tomcat 6.0在linux系統上的cgi-bin內運行python腳本?
- 20. MYSQL CGI腳本
- 21. 如何在Windows上爲Apache配置Apache?
- 22. 如何爲CGI腳本設置Perl的@INC?
- 23. 如何使用perlbrew w/Apache來提供CGI腳本?
- 24. 如何通過cgi運行腳本後在apache上重定向
- 25. 如何在Apache網絡服務器Perl Perl CGI腳本
- 26. 從PHP腳本獲取Apache配置
- 27. 如何配置Apache服務器以使用cgi程序?
- 28. 如何配置MAMP服務perl CGI腳本(不是本地主機!)
- 29. PHP到C/C++通過CGI腳本
- 30. 運行python腳本作爲cgi apache服務器
但是要考慮:每個平臺都有自己的依賴策略。舉例來說,在Windows中,你必須將依賴的dll放在系統目錄或cgi的同一個文件夾中(請查看http://www.dependencywalker.com)以及我解釋的其他平臺。 – softghost 2012-03-17 22:03:33
謝謝,它得到它的工作!事實證明,我需要這樣做,並在根目錄中創建一個cgi-bin文件夾,並將其放在那裏,供那些剛剛發現此問題的人使用。 – theeggman85 2012-03-18 01:04:33