如何从php laravel运行python?

如何从php laravel运行python?,php,python,laravel,exec,Php,Python,Laravel,Exec,我正在尝试从php调用python脚本,在纯php中,一切工作都非常完美,如下所示: $data = $_POST['text']; $result=exec('python_file.py ' . escapeshellarg(json_encode($data))); $resultData = json_decode($result, true); 问题是,当我在一个bundles控制器中使用laravel 3.2.13函数中的同一行时,它不会执行命令,也不会给出

我正在尝试从
php
调用python脚本,在纯
php
中,一切工作都非常完美,如下所示:

    $data = $_POST['text'];
    $result=exec('python_file.py ' . escapeshellarg(json_encode($data)));
    $resultData = json_decode($result, true);
问题是,当我在一个bundles控制器中使用laravel 3.2.13函数中的同一行时,它不会执行命令,也不会给出错误

有什么帮助吗

我的laravel函数是这样的:

public function action_test(){
    $text="Test";
    $result=exec('python_file.py ' . escapeshellarg(json_encode($text)));
    $resultData = json_decode($result, true);
    dd($result);

}
多谢各位

  • 请确保您已在配置文件中启用调试模式,并检查是否存在任何错误日志

  • 检查文件路径是否正确?还有文件权限

  • 三,。根据PHP文档,“如果您需要执行一个命令,并将命令中的所有数据直接传回而不受任何干扰,请使用passthru()函数。”

    希望这会有所帮助,如果没有,请在下面发表评论,以便我们能够进一步解决它

    谢谢

    问题现在解决了: 解决方案: 在我的python代码中,它试图调用与此相对应的其他文件:

    configFileDatasetBuilder = ".\\Configurations\\Config.xml"
    
    但据我所知,我是从一个控制器函数调用整个过程的,该函数的请求路径与文件路径不同,因此它会丢失它的路径。 现在,我对python路径进行了硬编码,如下所示:

     configFileDatasetBuilder =" MyDrive:\\xampp\\htdocs\\MyProject\\bundles\\myBundle\\controllers.\\Configurations\\Config.xml"
    
    它成功了:)
    谢谢每一个

    $结果将只包含输出的最后一行。如果需要完整的输出,则需要传递第二个参数,例如:
    exec('python_file.py'.escapeshellarg(json_encode($text)),$result)好的,我这样做了,现在路径有问题了,我这样调用文件完整路径:MyDrive:\xampp\htdocs\MyProject\bundles\myBundle\controllers\python\u file.py它给出了这个错误:[link]FileNotFoundError:
    [Errno 2]没有这样的文件或目录:'.\\config.xml'
    你能帮我做一个简单的命令,用shell\u exec代替exec吗。如果您得到完整的字符串输出,请告诉我们。