问题描述
我正在尝试使用进程从 laravel 运行 python 脚本,但它不起作用。
我的代码:
$process = new Process(['C:/Users/hrish/AppData/Local/Programs/Python/python39/python.exe','C:\xampp\htdocs\N\MovieRSystem\app\Models\top_movies.py']);
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
错误:
Symfony\Component\Process\Exception\ProcessFailedException
The command ""C:/Users/hrish/AppData/Local/Programs/Python/python39/python.exe" C:\xampp\htdocs\N\MovieRSystem\public\top_movies.py" Failed. Exit Code: 1(General error) Working directory: C:\xampp\htdocs\N\MovieRSystem\public Output: ================ Error Output: ================ Fatal Python error: _Py_HashRandomization_Init: Failed to get random numbers to initialize Python Python runtime state: preinitialized
解决方法
您可以尝试使用 shell_exec() 命令代替这样运行您的 python 程序
<?php
$command = escapeshellcmd('python C:\xampp\htdocs\N\MovieRSystem\app\Models\top_movies.py');
$output = shell_exec($command);
echo $output;
?>