У меня следующая проблема: в php-скрипте мне нужно запустить первый скрипт, потом второй. Второй не должен начинаться до завершения первого.
Проблема: два сценария работают долго (может занять до нескольких часов). Итак, если я использую file_get_contents на каждом URL-адресе скрипта, я могу запустить первый (через set_time_limit 0), но время ожидания file_get_contents истекает, поэтому у меня возникает ошибка, а второй никогда не запускается.
Примечание: эти сценарии запускаются на localhost на машине linux, на которой я являюсь администратором. Я могу делать все, что мне нужно, чтобы эта работа работала.
Спасибо
Это скрипты php, которые следует вызывать через полный URL-адрес: он находится в codeigniter, поэтому он должен учитывать процесс маршрутизации.
используйте` fopen (); fclose (); `или stream_set_timeout();
Вы можете попробовать передать контекст потока в file_get_contents и указать через него тайм-аут. (Не уверен, что -1 для «без тайм-аута» - допустимый вариант.) Но это все равно может привести к проблемам с таймаутами на уровне веб-сервера или чем-то в этом роде. Сценарий, работающий так долго, не должен вызываться через HTTP в первую очередь IMHO.






Выполните их через командную строку и соедините их с &&, чтобы второй сработал только в том случае, если первый завершился правильно.
php script1 && php script2
Или подключитесь к ;, если вы просто хотите, чтобы второй срабатывал после первого, независимо от статуса выхода.
php script1; php script2
С exec и && это именно то, что мне нужно. Спасибо.
Вы говорите здесь о PHP-скриптах? Тогда почему file_get_contents, а не include / require…?