#!/usr/bin/env python,在cgi调用中没有生效,怎么解决呢?

肉鸽 2018-11-17 10:14:00
先说一下环境:
CentOS7,系统自带python2.7.5
通过pyenv安装了pyhton3.7.1
hello.py代码如下:主要是打印python的版本

#!/usr/bin/env python
#coding:utf8
import platform

print("Content-type: text/html\n")

print(platform.python_version())

问题来了:
1、在命令行下执行程序,结果为:3.7.1
2、通过web执行cgi调用,结果为:2.7.5
如图所示:


引用
#!/usr/bin/env python

^感觉关键的这句话,在cig执行时,没起作用,请问怎么处理这个问题呢?
我希望在cgi中用的也是python3.7.1的解释器,求各位大神指导~~~

...全文
154 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
肉鸽 2018-11-17
  • 打赏
  • 举报
回复
找到问题了,说一下原因和解决方法。

1、用which python看看当前python到底安装在哪里

引用
/root/.pyenv/shims/python

----^这个root是关键

2、看看root的权限

httpd运行时,默认是以apache身份运行的,所以没有执行root目录下程序的权限

3、解决方法:
修改httpd.conf配置
引用
Group root

重启httpd服务,问题解决


37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧