windows+phpstudy(apache) 以cgi方式运行python
Apache配置
在httpd.conf中查找DocumentRoot:
+ExecCGI 支持cgi
DocumentRoot "F:\phpStud\PHPTutorial\WWW" <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory>
让apache识别py文件为cgi程序:
AddHandler cgi-script .cgi .pl .py
指定目录下执行cgi程序
ScriptAlias /cgi-bin/ "F:/phpStud/PHPTutorial/Apache/cgi-bin/"
重启 apache, from.py 文件内容
#!D:\python\python.exe #python 运行程序位置 #coding=utf-8 print ("Content-type:text/html") print () # 空行,告诉服务器结束头部 print ('<html>') print ('<head>') print ('<meta charset="utf-8">') print ('<title>Hello Word - 我的第一个 CGI 程序!</title>') print ('</head>') print ('<body>') print ('<h2>Hello Word! 我是来自菜鸟教程的第一CGI程序</h2>') print ('</body>') print ('</html>')
运行文件存放位置
F:\phpStud\PHPTutorial\Apache\cgi-bin\from.py
浏览器访问地址:
http://localhost/cgi-bin/from.py
cgi 运行文件注意要点
第一:#! 前面不能有空格,后面紧跟解释程序;
第二,python等解释程序的目录是否正确;
第三,作为http协议的要求,一定要输出http headers;
第四,在存在http headers的前提下,一定要在headers后面打印一个空行,否则服务器会报错;
第五,把错误的程序在python的idle中执行一下,验证正确性;
最后,实在搞不定的情况下,查看apache的logs文件夹下的error.log文件,来确定问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现