我正在尝试从Php中执行Python脚本。 在尝试了互联网上的很多东西之后,我仍然在努力解决这个问题:我的php不等待我的python脚本完成。
确实,当我必须在我的python代码中导入一个大声类(称为NeuralNetwork)时,它会阻塞。
我想找到一种使我的php等待python脚本执行结束的方法。
谢谢! (PS:如果我的英语不好,请提前抱歉)
导入我的python文件(NeuralNetworkFinal.py):
from ControlerRn import Controler_rn
from controler import controler
import sys
from NeuralNetwork import NeuralNetwork
我在php文件(formulaire.php)中运行它的方式:
<?php
$variableNR = 'py C:\Users\cefyo\Desktop\2018-l3al1v2\branches\NeuralNetworkFinal.py ';
$command = escapeshellcmd($variableNR);
$outputNR = shell_exec($command);
echo $outputNR;
?>
我已经尝试使用:
< /dev/null 2>&1 &
和
set_time_limit(0);
在我的Php脚本中,但没有任何反应。
当我在每次导入之间打印内容时,它们会显示在我的$ output中直到行
from NeuralNetwork import NeuralNetwork
答案 0 :(得分:0)
我不确定,这个答案可能看起来有些棘手,但是...
<?php
$variableNR = 'py C:\Users\cefyo\Desktop\2018-l3al1v2\branches\NeuralNetworkFinal.py ';
$command = escapeshellcmd($variableNR);
$outputNR = shell_exec($command);
while(outputNR == null){ // idk if the default value is null check that please
//do nothing
}
// echo should happen only after 'while' condition changed
echo $outputNR;
?>