让我的PHP等待我的python脚本结束[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我正在尝试从Php执行Python脚本。在尝试了很多在互联网上发现的东西后,我仍然在努力解决这个问题:我的php不会等待我的python脚本完成。

实际上,当我必须在我的python代码中导入一个响亮的类(称为神经网络)时,它会阻塞。

我想找到一种方法让我的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
php python shell execution
1个回答
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;
?>
© www.soinside.com 2019 - 2024. All rights reserved.