Articles of cgi

Unix3上的Python3 CGI HTTPS服务器失败

这个Python3 CGI HTTPS服务器过去几个星期(或几个月)工作,但现在不再在Linux(Ubuntu)下工作。 我试过在Ubuntu 10.04和Ubuntu 14.04上的行为是一样的。 现在,当我尝试访问任何CGI脚本,我得到: Secure Connection Failed An error occurred during a connection to 127.0.0.1:4443. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long) 以下是服务器的代码: import http.server import ssl import os server_address = ('', 4443) cert = os.path.abspath('./server.pem') handler = http.server.CGIHTTPRequestHandler handler.cgi_directories = ['/cgi-bin'] httpd = http.server.HTTPServer(server_address, handler) […]

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服务器调用的。 是否可能,如果是,那我该怎么做?

如何在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 […]

是否有可能在windows下运行一个batch file作为Apache的CGI?

这听起来非常简单,但我不能使它工作。 我有awk和perl的工作,但cmd.exe并没有被devise成一个CGI程序,所以不pipe我做什么,我要么浏览器下载文件,内部服务器错误,要么我得到当前的path目录作为第一行。 你必须把一个#! 在CGI的第一行,或者你得到一个内部服务器错误,但我最终 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\cgi-bin>#!c:\windows\system32\cmd.exe /c Content-Type: text/html <HTML><BODY> <PRE>Your environment variables are: </PRE></BODY></HTML> 我试着用/ c,没有任何数量的排列,它总是先打印当前的工作目录,所以我不能打印出内容types作为标题。 有人得到这个工作? 我看到很多的猜测结果谷歌显示我,但没有实际的工作示例。

截断的输出使用Python瓶0.12.8作为Apache服务器上Windows下的CGI应用程序

这是应用程序: #!/home2/friendv0/Python-2.7.9/bin/python from bottle import Bottle app = Bottle() @app.get('/') def hello(): return """<!DOCTYPE html> <html lang="en"> <head> <title>bottle Test</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="utf-8"> </head> <body> Hello! </body> </html> """ app.run(server='cgi') 结果输出是: <!DOCTYPE html> <html lang="en"> <head> <title>bottle Test</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="utf-8"> </head> <body> Hello! </body> 请注意,结束</ html>标记缺失。 只有当应用程序在Windows 7(或Windows […]

我怎样才能从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并找出什么是减慢它?