Articles of cgi

Apache / httpd / var / www / html / .cgi脚本会引发500个内部服务器错误

我今天安装了一个新的CentOS 7 x86_64 LAMP服务器。 我在c中编译了一个简单的CGI脚本,我把它命名为test.cgi,并为.cgi脚本启用了AddHandler。 然而,每次我尝试从我的/ var / www / html目录加载/test.cgi页面时,任何简单的.cgi脚本都会给我一个500内部服务器错误页面。 我testing了脚本在/ var / www / cgi-bin目录下工作正常。 我的服务器正在运行selinux,而apache / httpd正在使用suEXEC。 编辑:也没有创build任何额外的用户灯安装后,所以在这里我使用root来做所有的事情。 然而,我试图修复给Apache的用户/ var / www / html目录的所有权,这并没有修复悲伤。 这里是错误日志,你可以看到它给了我一个'Permission Denied'错误: [Mon Jul 21 15:28:14.336626 2014] [core:notice] [pid 22704] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0 [Mon Jul 21 15:28:14.339766 2014] [suexec:notice] [pid 22704] AH01232: suEXEC […]

Python CGIHTTPServer崩溃与“OSError:权限被拒绝”

我从我的主目录运行以下命令: python -m CGIHTTPServer 这运行服务器,但是当我尝试访问cgi-bin目录中的脚本时,我得到: Traceback (most recent call last): File "/usr/lib/python2.7/CGIHTTPServer.py", line 251, in run_cgi os.execve(scriptfile, args, env) OSError: [Errno 13] Permission denied 以root身份运行并没有什么区别。 这些文件似乎拥有所有权限: student@bandersnatch:~$ ls -lhR .: total 12K drwxr-xr-x 2 student student 4.0K Jun 13 18:38 cgi-bin drwxr–r– 2 student student 4.0K Jun 10 2004 kalpy -rwxrwxrwx 1 student student 2.0K […]

是否有可能在Linux中将数据写入到自己的stdin中

我想从IDE中debugging我的cgi脚本(C ++),所以我想创build一个“debugging模式”:从磁盘读取文件,把它推到自己的stdin,设置一些环境variables,对应这个文件,运行其余的该脚本是由Web服务器调用的。 是否可能,如果是,那我该怎么做?

我怎样才能从Windows上的Perl CGI脚本分叉后台进程?

在Windows上运行时,遇到了Perl CGI脚本的进程故障。 主要的问题似乎是,在Windows上运行时会模拟“fork”,而实际上并没有创build一个新的进程(只是当前的另一个线程)。 这意味着正在等待进程完成的Web服务器(如IIS)将继续等待,直到“后台”进程结束。 有没有在Windows下从CGI脚本中分离出后台进程的方法? 更好的是,我可以调用哪一个函数来实现跨平台的function? (只是为了让生活变得更加困难,我真的很喜欢将分叉进程输出redirect到一个文件的好方法)。

如何创build一个带有button的网页,在服务于网页的系统上调用各种Python脚本?

我是一个业余爱好者(也是相当新的)程序员,他用python编写了几个有用的脚本来处理各种系统自动化任务,涉及复制,重命名和下载文件以及其他各种各样的活动。 我想创build一个从我的系统提供的网页,只会提供几个button,这将允许我远程启动这些脚本。 问题是,我不知道从哪里开始调查如何做到这一点。 假设我有一个脚本叫: file_arranger.py 我需要做什么才能让网页执行该脚本? 这并不意味着公共消费,所以任何轻量级的东西都会很棒。 对于奖励积分,我需要研究如何为networking用户提供这些脚本的输出? 编辑:第一个答案让我意识到我忘了包括这是一个Win2k3系统。

在Windows上运行非常缓慢的php-cgi

我试图加快我的WordPress的网站,因为由于某种原因平均需要5秒来加载一个页面(显然太慢)。 我已经追踪到php-cgi.exe占用了大量CPU时间,但现在不知道如何弄清楚为什么或如何解决这个问题。 任何想法如何我可以debuggingphp-cgi.exe并找出什么是减慢它?

我如何设置Python CGI服务器?

我在Windows上运行Python 3.2。 我想在我的机器上运行一个简单的CGI服务器来进行testing。 以下是我迄今为止所做的: 我用下面的代码创build了一个python程序: import http.server import socketserver PORT = 8000 Handler = http.server.CGIHTTPRequestHandler httpd = socketserver.TCPServer(("", PORT), Handler) httpd.serve_forever() 在同一个文件夹中,我创build了一个简单的HTML文件“index.html”。 然后运行该程序,并在我的Web浏览器中转到http:// localhost:8000 / ,并成功显示该页面。 接下来我在同一个目录下创build一个名为“hello.py”的文件,代码如下: import cgi import cgitb cgitb.enable() print("Content-Type: text/html;charset=utf-8") print() print("""<html><body><p>Hello World!</p></body></html>""") 现在,如果我去http:// localhost:8000 / hello.py ,我的网页浏览器会显示上面的完整代码,而不是“Hello World!”。 在提供之前,如何让python执行CGI代码?

在Windows上安装XAMPP Mercurial Apache – > HgWebDir.cgi脚本错误

我尝试通过CGI Python脚本hgwebdir.cgi通过XAMPP Apache发布多个现有的mercurial存储库位置…如本教程中所示https://www.mercurial-scm.org/wiki/HgWebDirStepByStep 当我尝试使用浏览器访问存储库path时,我从apache错误日志中得到以下错误: 脚本标题提前结束:hgwebdir.cgi [Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] Premature end of script headers: hgwebdir.cgi [Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] File "C:/hostdir/xampp/cgi-bin/hg/hgwebdir.cgi", line 39\r [Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] test = c:/hostdir/mercurial/test/\r [Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] ^\r [Tue Apr 20 16:00:50 […]

Windows和Lighttpd上的FastCGI

我正在寻找使我的CGI论坛软件FastCGI兼容。 论坛软件包含用C和x86汇编语言编写的几个dll和.exe(.cgi)文件。 我也有一个SQlite3数据库。 Lighttpd将所有这些cgi脚本作为subprocess运行,而且我非常认为整个系统的工作非常好。 但是我想用FastCGI进行实验。 但是,这些例子很差,文档很差,而且看起来好像是为了Linux而devise的。 有人得到FastCGI在Windows上工作? 如果有人有一个代码示例,并且lighttpdconfiguration行,我会很感激。

如何在CGI模式下运行时重写PHPconfiguration

有一些教程告诉我如何在CGI模式下运行时重写PHPconfiguration。 但是我仍然感到困惑,因为他们中的很多人都认为服务器是在Linux上运行的。 而我也需要在Windows上这样做。 我的主机确实使用Linux,但是我的本地开发计算机使用Windows XP和Xampp 1.7.3。 所以我需要先在本地计算机上执行此操作,然后再更改托pipe服务器上的configuration。 我的托pipe服务器中的PHP已经作为CGI运行,而在我的本地计算机仍然作为Apache模块运行。 在这一点上,我了解的过程是: 改变PHP以CGI模式工作。 我通过在“httpd-xampp.conf”中注释这两行来做到这一点: # LoadFile "C:/xampp/php/php5ts.dll" # LoadModule php5_module modules/php5apache2_2.dll 我的PHP现在作为CGI运行。 我用phpinfo()检查了这个。 它告诉我,Server API现在是CGI / FastCGI。 现在我想覆盖的PHPconfiguration。 在DocumentRoot中创build“cgi-bin”目录。 我的DocumentRoot是在“D:\ www \”(我使用虚拟主机的Apache)。 所以现在是“D:\ www \ cgi-bin”。 将默认的“cgi-bin”目录设置从“C:/ xampp / cgi-bin /”更改为“D:\ www \ cgi-bin”: ScriptAlias /cgi-bin/ "D:/www/cgi-bin/" <Directory "D:\www\cgi-bin"> Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI AllowOverride All Allow […]