我一直在寻找解决方案,但是没有一个帮助我。
要点:
操作系统: Ubuntu 18.04
要运行的文件: /var/www/html/cgi_test/cgi-bin/hello.py (肯定存在)
哪个python3: / usr / bin / python3 (操作系统默认设置)
文件夹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/plain\r\n\r\n")
print('hi')
文件夹cgi_test中的运行命令: python3 -m http.server --cgi --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
和浏览器中的空白页。
没有更多的想法可以实现这一目标。
答案 0 :(得分:0)
可能会晚一点,但是我遇到了类似的问题,通过在cgi(.py)脚本的第一行中使用了正确的python版本来解决。例如。 #!/usr/bin/python3.7