我发现了很多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