Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP文件运行python脚本_Python_Php_Html_File_Xampp - Fatal编程技术网

从PHP文件运行python脚本

从PHP文件运行python脚本,python,php,html,file,xampp,Python,Php,Html,File,Xampp,我试图使用PHP运行python文件,但该文件不打印Hi,我只打印“Whatsup”。当用户单击提交按钮时,脚本将运行。我在OSX上,所有文件路径都是正确的。我按照另一篇文章的建议做了chmod+x hi.py 你好 注册公司 else { $command=escapeshellcmd('/Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py'); $output = shell_exec($

我试图使用PHP运行python文件,但该文件不打印Hi,我只打印“Whatsup”。当用户单击提交按钮时,脚本将运行。我在OSX上,所有文件路径都是正确的。我按照另一篇文章的建议做了chmod+x hi.py

你好

注册公司

else {
      $command=escapeshellcmd('/Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py');
      $output = shell_exec($command);
      echo $output;
      echo "Whatsup";
      exit();
    }

您需要知道要使用哪种python+,具体如下:

else {
      $command=escapeshellcmd('/usr/bin/python /Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py');
      $output = shell_exec($command);
      echo $output;
      echo "Whatsup";
      exit();
    }
或者对于Python3:

else {
      $command=escapeshellcmd('/usr/local/bin/python3 /Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py');
      $output = shell_exec($command);
      echo $output;
      echo "Whatsup";
      exit();
    }
检查Python的位置并为其添加完整路径

我只想使用:

echo shell_exec("/usr/local/bin/python3 /Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py");

这回答了你的问题吗?不幸的是,没有。我对该文件执行了chmod+x myscript.py,但仍然没有执行任何操作。作为一个快速测试,将python脚本复制到与php脚本相同的目录中,然后查看它是否运行。确实执行了。同样的结果。然后,我切换了signup.inc.php中的路径,以匹配新文件,而不匹配任何内容。此命令:
/usr/bin/python/Users/name/Documents/CPSC\u Courses/CPSC353/CoronaVirus/webScrap.py
可从终端运行?$command=escapeshellcmd('/Library/Frameworks/Python.framework/Versions/3.8/bin/python3/Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/includes/webScrap.py');更改了显示此结果的命令,但仍然得到相同的结果。使用了“which python3”要获取Python3的路径,如果你的Python就是这样,那么它就可以工作了。为什么要使用escapeshellcmd它不依赖于用户输入?这正是其他堆栈溢出问题的答案所建议的。我应该使用什么?有没有其他方法找到我的Python?如果我浏览了我的文件,我有一个名为Python3.8的文件夹,但没有.exe文件指向路径。did“which python”获得了/usr/bin/python
echo shell_exec("/usr/local/bin/python3 /Users/name/Documents/CPSC_Courses/CPSC353/CoronaVirus/webScrap.py");