Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.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执行源命令_Php_Python - Fatal编程技术网

如何在服务器中从php执行源命令

如何在服务器中从php执行源命令,php,python,Php,Python,我无法在linux中使用php执行源代码命令。除此之外,所有其他命令都正常工作。我需要执行以下命令 source /root/Envs/ate/bin/activate 这将激活ate自动测试设备。一旦激活它,我需要在脚本访问远程服务器时运行python脚本。 我可以手动运行它,但我正在创建一个工具,它会自动运行 <?php exec("source /root/Envs/ate/bin/activate", $output, $return); echo "Command

我无法在linux中使用php执行源代码命令。除此之外,所有其他命令都正常工作。我需要执行以下命令

 source /root/Envs/ate/bin/activate
这将激活ate自动测试设备。一旦激活它,我需要在脚本访问远程服务器时运行python脚本。 我可以手动运行它,但我正在创建一个工具,它会自动运行

  <?php
  exec("source /root/Envs/ate/bin/activate", $output, $return);
  echo "Command returned $return, and output:\n";
  echo exec("python box_upgrade-pradeepa.py");
  ?>

上面的命令返回1,这意味着有错误。但我不确定如何运行“源命令”。python脚本只有在源命令成功的情况下才会运行。(python命令是正确的,因为我替换了hello.py,它运行得很好。) 我真的困了一个星期,你能帮我吗?
非常感谢..

我发现了错误。因为我是用php(一个web工具)来做的,所以用户是ApacheApache的用户无法访问根文件夹中的脚本。将它移动到另一个目录,我可以很好地运行脚本


谢谢大家。

可能是用户\权限问题我尝试了exec(sudo source/root/Envs/ate/bin/activate),但它仍然返回命令1。每个exec都是一个单独的shell,这意味着在第一次
exec()
调用中源代码/创建的任何内容在第二次调用中都消失了,因为你发射了一个不同的炮弹。哦,是的,我没有意识到……那么让我交给同一个执行官。但是源代码命令本身不起作用…非常感谢您给出这一点。。