Intereting Posts
Как планировать мой веб-проект перед запуском кода? PHP XPath, выбрав последний элемент соответствия Я хочу загрузить файл и при загрузке файла значения файла должны быть помещены в мой массив Regex, чтобы получить только символы без пробелов внутри специальных тегов Как декодировать такую ​​странную строку в UTF-8? (PHP) Где искать исключения в приложении PHP MVC? Почему file_get_contents () возвращает ошибку «Имя файла не может быть пустым»? Codeigniter – активная запись – sql – комплексное соединение Загрузите несколько файлов в виде zip-папки, используя php Zend DB Выбрать с несколькими объединениями таблиц Лучший способ найти различия между двумя большими массивами в PHP Альтернатива WordPress's get_site_url () Как отправить данные файла в качестве параметра post в почтовом вызове BuzzBrowser Удаление нечисловых символов (кроме периодов и запятых) из строки Что такое PHP track_errors?

Запуск PHP после запроса

Я хотел бы иметь возможность запустить второй скрипт (или PHP или Python) при загрузке страницы и продолжить ли его выполнение после того, как пользователь отменит / переместится, это возможно?

Solutions Collecting From Web of "Запуск PHP после запроса"

Вы можете отправить Connection: Закрыть заголовки, которые заканчивают страницу для вашего пользователя, но позволяют выполнять вещи «после загрузки страницы».

Существует простой способ игнорировать пользовательский прерывание (см. Также руководство по PHP ):

ignore_user_abort(true); 

Используйте процесс forking с pcntl . Однако он работает только в операционных системах Unix.

Вы также можете сделать что-то вроде этого:

 exec("/usr/bin/php ./child_script.php > /dev/null 2>&1 &"); 

Подробнее об этом примере вы можете прочитать здесь .

для сохранения текущего скрипта:

  • ignore_user_abort (истина);
  • set_time_limit (0);

для запуска другого скрипта:

  • см. $ sock = fsockopen (' http: // localhost / path_to_script ', 80, $ errorStr, 3600) + stream_set_timeout ($ sock, 3600);
  • см. exec ('php path_to_script'); – это приведет к тому, что ваш скрипт будет запущен из CLI, поэтому вам придется установить php-cli на этом сервере.

Другой подход, если вы не можете использовать другие, – это включить тег img в нижней части вашего вывода, который запрашивает php-страницу, которая делает то, что вы хотите сделать.

Он все равно покажет анимацию загрузки, поэтому я думаю, что предложение Карстена, вероятно, лучше (я попробую, чтобы в следующий раз мне нужно было делать такие вещи, которые, как я думаю).