我一直在寻找解决方案,但没有帮助我。
关键点:
OS: Ubuntu 18.04
运行的文件:/var/www/html/cgi_test/cgi-bin/hello.py.py (当然存在)
哪个python3:/usr/bin/python3 (OS默认)
文件夹中的文件/dir的权限CGI_TEST:
drwxrwxr-x 1 CGI-bin
-rwxrwxrwx 1 cgi-bin/hello.py
/var/www/html/cgi_test/cgi-bin/hello.py的内容:
#!/usr/bin/python3
import cgi
import cgitb; cgitb.enable()
print("Content-Type: text/plainrnrn")
print('hi')
文件夹中的运行命令cgi_test: python3 -m http.server -cgi -cgi -bind -bind 192.168.50.4 8000 在浏览器中访问http://192.168.50.4:8000/cgi-bin/hello.py时,错误/响应:
Serving HTTP on 192.168.50.4 port 8000 (http://192.168.50.4:8000/) ...
192.168.50.1 - - [15/Mar/2019 08:14:26] "GET /cgi-bin/hello.py HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('192.168.50.1', 52548)
Traceback (most recent call last):
File "/usr/lib/python3.6/http/server.py", line 1126, in run_cgi
os.execve(scriptfile, args, env)
FileNotFoundError: [Errno 2] No such file or directory: '/var/www/html/cgi_test/cgi-bin/hello.py'
----------------------------------------
192.168.50.1 - - [15/Mar/2019 08:14:26] CGI script exit status 0x7f00
和浏览器中的空白页。
没有更多的想法来使这项工作。
可能有点迟了,但是我有一个类似的问题,我通过在CGI(.PY)脚本的第一行中拥有正确的Python版本来解决。例如。#!/usr/bin/python3.7
我也有类似的问题,因为我直接从Windows复制了一个.py文件。因此,我尝试在Linux上再次删除和编码,最后修复它。也许他们有不同的编码样式。