windows下PHP 调用python脚本需要什么权限吗

为什么PHP调用Python脚本时,让脚本执行一些简单的输出是可以的
比如:

p.py
print(123);

但是执行一些调用本地资源的命令就不行了。比如:

from os import startfile  #播放本地视频
path = 'D:\Wildlife.wmv'
startfile(path)

还有这些命令:
p=os.popen('rv D:\a.AVI'); //RV播放器打开本地视频


上面这些在CMD下运行Python文件都是可以的。PHP调用就是不行

php调用方式:
shell_exec('python D:\pytest\play.py')

调试:exec('python D:\pytest\play.py',$out,$status)
$status 返回状态0 说明是成功的,但是就是没有播放本地视频。
阅读 3k
2 个回答

使用完整的python解释器路径代替python试试

应该是执行目录(工作目录的原因),PHP 调用时候,成了当前PHP 的目录。所以改变工作目录,或者将py打开的文件路径设置成绝对路径。

更改工作路径

import os
os.chdir('D:/xxx/xxx')

查看py执行文件的路径

import sys
print(sys.argv[0])

查看当前工作路径

import os
print(os.getcwd())

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题