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

Posted

技术标签:

【中文标题】让我的php等待我的python脚本结束[重复]【英文标题】:Make my php wait the end of my python script [duplicate] 【发布时间】:2019-04-20 19:52:11 【问题描述】:

我正在尝试从 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

【问题讨论】:

如何执行你的 php 脚本? 通过点击按钮先生 重复的问题有帮助吗? 不是真的,我们没有同样的问题。我仍在努力,如果找到解决方案,我会分享。 【参考方案1】:

我不确定,这个答案可能看起来有点棘手,但是...

<?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;
?>

【讨论】:

它不起作用,但这是经过深思熟虑的,谢谢你的回答 Marco!

以上是关于让我的php等待我的python脚本结束[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的脚本在 Windows 上使用 python 每 30 分钟重复一次

使用 PHP 脚本登录 Facebook,但让我在此脚本结束后登录浏览器

等待没有循环Python的条件

从 PHP 启动脚本运行 Python 脚本,但不结束它

如何让我的异步客户端调用套接字服务器并等待响应

如何在 n 秒内中止 bash 脚本 [重复]