我有一个运行基于keras的神经网络的python脚本,它运行得很好,但是当我使用php中的shell exec运行该脚本并使用var_dump时,我得到“空”。
我已经看到许多解决方案。我已经将php.in i中的最大执行时间和最大输入时间增加到5000。我还提供了文件的完整路径和命令中所需的环境。此外,我还授予了文件夹(lampp、htdocs,(my php file folder))的所有权限。这是一个命令,最终在shell_exec中调用。
source /home/characterleveldl/anaconda3/bin/activate /home/characterleveldl/anaconda3/envs/spyderr && python fyp_final.py 5 /opt/lampp/htdocs/charlevel_fyp/train.csv /opt/lampp/htdocs/charlevel_fyp/test.csv 86save_true.pdf 86save_random.pdf 86save_result.txt 2>&1
fyp eu final.py、train.csv、test.csv与php文件在同一文件夹中。我在根模式下通过终端运行相同的精确命令,它运行时没有任何错误。但在下面的PHP代码中,它返回空值。
$cmd_initial ='source /home/characterleveldl/anaconda3/bin/activate /home/characterleveldl/anaconda3/envs/spyderr && ';
$cmd = $cmd_initial . 'python fyp_final.py ' . $num_classes . ' ' . $train . ' ' . $test . ' ' . $save_true . ' ' . $save_random . ' ' . $save_text . ' 2>&1';
$command = escapeshellcmd($cmd);
$output = shell_exec($command);
var_dump($cmd);
var_dump($output);
请帮帮我。如果我做了一些错误的事情,或者甚至有可能运行从PHP学习代码的机器,因为我尝试运行小代码,它们运行得很好。