我必须执行一个python脚本,该脚本会将大量数据提取到数据库中。当我使用命令PHP artisan serve运行项目时,它运行良好。但是在调用如下所示的公用文件夹URL之后,它将引发错误
localhost/project/public
错误:
命令“ python /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py'{“ term”:“ cancer”}'“”失败。
退出代码:1(一般错误)工作目录:/ opt / lampp / htdocs / laravel / infocytosis / beta / infocytosis / public输出:
================错误输出:===============
回溯(最近一次通话最近):文件“ /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py”,行5,来自Bio import Entrez ImportError:否名为Bio
的模块
我使用的代码:
$python_path=public_path().'/python/doom_abstract/doom_engine.py';
$variables='{"term":"'.addslashes($request->term).'"}';
$process = new Process("python $python_path '$variables'");
$process->run();
return redirect()->back()->withMessage('Filter saved successfully');
答案 0 :(得分:1)
您可以尝试以下一个
$python_path=public_path('python/doom_abstract/doom_engine.py');
答案 1 :(得分:0)
代替:
$process = new Process("python $python_path '$variables'");
$process->run();
怎么样
shell_exec("python $python_path '$variables'")