如何从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);
}
多谢各位
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吗。如果您得到完整的字符串输出,请告诉我们。