我已经阅读了许多有关此的SO帖子,但似乎无法使它正常工作。这是我第一次在Apache上使用Python,所以我会很感激!
因此,最终,我试图在htdocs中运行Python脚本,但似乎无法仅在XAMPP上运行简单的python脚本。我不断收到500错误:
myurl.py
#!/usr/bin/env python3
print("Content-Type: text/html")
print()
print ("""
<TITLE>CGI script ! Python</TITLE>
<H1>This is my first CGI script</H1>
Hello, world!
"""
)
答案 0 :(得分:3)
根据讨论,这里存在多个问题,可以通过检查apache编写的error.log
然后进行适当的更改来解决。
第一个错误是:
[2018年11月20日星期二17:49:06.593901] [cgi:error] [pid 47854] [客户端 ::: 1:50462] AH01215:(13)权限被拒绝:exec of '/Applications/XAMPP/xamppfiles/htdocs/myurl.py'失败: /Applications/XAMPP/xamppfiles/htdocs/myurl.py [星期二11月20日 17:49:06.595547 2018] [cgi:error] [pid 47854] [客户端:: 1:50462]结束 标头之前的脚本输出示例:myurl.py
这里相关的部分是:
(13)Permission denied: exec of '/Applications/XAMPP/xamppfiles/htdocs/myurl.py' failed
需要在正在执行的.py
文件上设置权限,以允许运行apache进程的用户执行脚本。这是通过chmod
完成的。
然后,出现另一个错误:
[2018年11月20日星期二17:59:04.720816] [cgi:error] [pid 48715] [客户端 ::: 1:50555] AH01215:python3:没有这样的文件或目录: /Applications/XAMPP/xamppfiles/htdocs/myurl.py [星期二11月20日 17:59:04.720884 2018] [cgi:error] [pid 48715] [客户端:: 1:50555]结束 标头之前的脚本输出示例:myurl.py
相关部分是:
python3: No such file or directory
这表明系统找不到要执行的python3
二进制文件。必须使用python3
确定到which python3
解释程序的正确路径。然后将其编辑到脚本的shebang行中。