【问题标题】:PHP Restart php script after EXIT?PHP 退出后重新启动 php 脚本?
【发布时间】:2013-03-20 13:40:26
【问题描述】:

我有一个 php 脚本:我将网站列表放在 textarea 中,然后 php 脚本检查网站是关闭还是启动。 我的问题:当网站关闭时,脚本会显示错误并停止处理列表的其余部分:

Warning: fsockopen() [function.fsockopen]: unable to connect to http://SITEDOWN.com:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/checklist/public_html/checklist.php (1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 109

当网站关闭时,它会向我显示此错误,然后检查员停止工作并停止所有工作,以修复我犯的错误(我将 DIE 添加到脚本中):

<?php
    public function sendpacket($host,$packet,$response = 0,$output = 0) 
    {
    $ock = fsockopen($host,80);
    stream_set_timeout($ock,5);
    if (!$ock) 
    {
    echo '=> Site down<br/>'; 
    die;

}

然后它不会显示错误,但是当网站关闭时 php 脚本会自动停止(它会显示 SITE DOWN 并停止所有,不继续使用其他网站) 我想要 : 当网站关闭时,它会向我显示“站点关闭”和 php 脚本重新启动/继续以下行(我使用 textarea,每行 1 个站点)

抱歉我的英语不好,感谢所有花时间阅读本文的会员

【问题讨论】:

  • 最后去掉die
  • 考虑到复制/粘贴错误中的多个 eval() 失败,您似乎没有向我们展示所有代码。
  • 不是所有代码,但是当我删除 DIE 时,脚本错误并且当它无法连接到网站时不会停止向我显示此错误

标签: php exit die


【解决方案1】:

更改 die 以返回 false 并编写调用脚本以在 if 语句中调用函数...

    if (sendpacket == false) {
        echo "Fail message";
    } else {
        echo "Success message";
    }

【讨论】:

  • 嘿,这是 php,不是其他语言,抱歉
猜你喜欢
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
  • 1970-01-01
  • 2011-09-16
相关资源
最近更新 更多