如何在服务器中从php执行源命令
我无法在linux中使用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
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()
调用中源代码/创建的任何内容在第二次调用中都消失了,因为你发射了一个不同的炮弹。哦,是的,我没有意识到……那么让我交给同一个执行官。但是源代码命令本身不起作用…非常感谢您给出这一点。。