我试图通过使用passthru()函数从php调用我的python脚本。我已经成功完成了该任务,并且为了进行开发,我使用了xampp,现在有时我手动安装了apache,php和其他附件。 我还对apache conf进行了更改,以使我的python脚本正常工作,其中一些在我直接通过ajax调用它们时有效,但是脚本如下:
<?php
passthru("python C:/Apache24/htdocs/app1/pyscripts/export_zakup.py GARČIN
2>&1",$retval);
echo $retval;
?>
给我这样的结果: 'python'无法识别为内部或外部命令,可操作程序或批处理文件。 1
此外,当我将python C:/Apache24/htdocs/app1/pyscripts/export_zakup.pyGARČIN复制到我的cmd时,它也可以正常工作。 我已经花了几个小时试图找出问题所在,但没有成功。有人知道问题出在哪里吗?
答案 0 :(得分:1)
首先,通过在命令行中运行which python
来找到Python可执行文件所在的位置:
$ which python
$ /usr/bin/python
然后使用PHP脚本中可执行文件的完整路径:
passthru("/usr/bin/python C:/Apache24/htdocs/app1/pyscripts/export_zakup.py GARČIN
2>&1",$retval);
echo $retval;
请记住,Windows和Linux机器上的路径将有所不同。例如,Windows上的最新版本通常在C:\Python27\
中安装可执行文件,因此完整路径为C:\Python27\python