PHP Перезапустить php-скрипт после ВЫХОДА?

У меня есть php-скрипт: я помещаю список веб-сайтов в текстовую область, и 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-скрипт автоматически останавливается, когда веб-сайт не работает (он показывает мне САЙТ ВНИЗ и останавливает все, не продолжая работу с другими сайтами). Я хочу: когда веб-сайт не работает, он показывает мне «Сайт не работает» и php-скрипт перезапустить/ПРОДОЛЖИТЬ со следующей строкой (я использую textarea, 1site в строке)

Извините за мой плохой английский и спасибо всем участникам, которые нашли время, чтобы прочитать это


person JaCk Smith    schedule 29.03.2013    source источник
comment
удалить die в конце   -  person    schedule 29.03.2013
comment
Похоже, вы не показываете нам весь код, учитывая множественные сбои eval() в вашей ошибке копирования/вставки.   -  person Crontab    schedule 29.03.2013
comment
нет, это не весь код, но когда я удаляю DIE, скрипт дает ошибку и не перестает показывать мне эту ошибку, когда он не может подключиться к веб-сайту.   -  person JaCk Smith    schedule 29.03.2013


Ответы (1)


Измените die, чтобы вернуть false, и напишите вызывающий скрипт для вызова функции в операторе if...

    if (sendpacket == false) {
        echo "Fail message";
    } else {
        echo "Success message";
    }
person Jpritcha    schedule 29.03.2013
comment
эй, это php, а не другой язык, извините - person JaCk Smith; 30.03.2013