服务器返回500,查看“/var/log/httpd/error_log”或“/var/log/apache2/error_log”发现有如下日志错误。
此时,网上的解释一般为解释器声明错误。
此报错确实为解释器声明错误,apache2会识别CGI代码的前两行,以确定使用什么解释器进行解释执行,所以,第一行解释器声明识别错误,会导致报错。请进行如下检查(假设您使用的是python3),执行命令查看python路径。
在我的环境中,返回的内容是:
所以,我的python文件最上两行应为:
即您查询到的路径是什么,第一行就应该是什么,第二行声明编码。
如果到这一步,还是重复上述错误,请您进行如下尝试。
如果您代码开发的环境为Windows,代码运行的环境为Linux,请您着重关注 的情况。默认情况下,Windows换行符会自动使用两个换行符来标记换行 ,而apache2不能识别 ,所以apache2识别到的是如下样子:
因未能找到python3 解释器,所以报错,建议您全局替换 字符为空。建议在Windows环境下使用notepad++软件来实现,具体使用方式如下:
1.使用notepad++打开代码
2.使用快捷键 ctrl+f调用出搜索
点击替换选项卡,查找目标框内输入“ ”,选择扩展子选项,点击全部替换。
3.替换成功,ctrl+s保存,上传服务器尝试。
1.确认脚本编码为UTF-8,不是UTF-8请手动转换为UTF-8。
2.若转化为UTF-8还是不行,请在服务器上传下述CGI脚本,使用浏览器访问,检查编码(确认检查编码脚本与您的环境解释器路径是否一致,是否替换掉 )
3.访问该链接
若返回内容非UTF-8,建议您调整apache的编码为UTF-8.
(三)版权声明
以上就是本篇文章【apache2 python3 CGI Linux解释器无法读取鉴别与解决方案】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/16480.html
栏目首页
相关文章
动态
同类文章
热门文章
网站地图
返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多