我已经阅读了许多有关此的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!
"""
)
最佳答案
根据讨论,这里存在多个问题,可以通过检查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行中。关于python - Python header 出现 header 错误之前,脚本输出结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53402670/