如何在Laravel运行Python脚本?

问题描述 投票:5回答:1

我想知道如何使用PHP代码运行Python脚本。我试图像不同的选择

 $output = exec("python  /var/GAAutomationScript.py");

 $command = escapeshellcmd('/var/GAAutomationScript.py');
 $output = shell_exec($command);

但无法运行python脚本。我的应用是在Laravel。是否有可能使用Laravel调度作业例如运行python脚本使用Artisan命令?

php python laravel
1个回答
1
投票

有些事情要提到你的问题:

  • 我会强烈建议使用symfony/process代替了shell_exec直接。它是在laravel已经可用。您可以轻松地检查你的命令成功与否和字符串格式等获得标准输出
  • 当您从一个Web应用程序shell脚本,用户权限关系。例如,laravel网络用户www-data和你的Python脚本可以说ubuntu.nbody例如,它会再检查什么权限的python脚本了。比在这个例子中ubuntu其他用户都可以运行它。
  • 然后,如果你想给777个权限python脚本将摆脱许可问题,然后那是一个风险太大。
  • 最后但并非最不重要的,创建一个laravel控制台命令,添加其将从symfony/process运行python脚本片段。然后运行和调试错误。一旦它的工作原理,那么你可以添加在laravel的cron乔恩。

See this了解调度命令工匠莫。

您也可以避免造成人员指挥和直接添加外壳,因为它内部使用symfony/processSee this为参考

© www.soinside.com 2019 - 2024. All rights reserved.