Как остановить скрипт php
Перейти к содержимому

Как остановить скрипт php

  • автор:

Как остановить работу PHP скрипта после закрытия браузера?

Привет есть обычный скрипт. он скачивает файл. использую curl надо сделать так, что когда я закрываю вкладку брузера то етот файл перестал скачиватся. пробовал ignore_user_abort(false); прописывал заголовки Connection: close , keep-alive не помогло. есть у кого что посоветовать?

На сайте с 25.11.2006
23 июля 2021, 17:40
У вас чистый apache или nginx ещё есть?
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE
На сайте с 22.11.2013
23 июля 2021, 17:44
Apache сейчас. свзязка с nginx . но есть возможность и на nginx перейти если ето поможет
На сайте с 22.01.2021
23 июля 2021, 17:46

lutskboy :
надо сделать так, что когда я закрываю вкладку брузера то етот файл перестал скачиватся. пробовал ignore_user_abort(false);

Не подействует, пока не перестанет скачиваться.
Мой форум — https://webinfo.guru –Там я всегда на связи
На сайте с 25.05.2007
23 июля 2021, 17:47
kill -9 номер процесса
На сайте с 22.11.2013
23 июля 2021, 17:49
loser #:
kill -9 номер процесса
и куда ето. вначале или в конце. как узнать PID?
На сайте с 25.05.2007
23 июля 2021, 17:52

если впс то надо логику скрипта менять. если у вас хостинг то все гораздо сложнее, как-то по частям файл закачивать.

На сайте с 25.05.2007
23 июля 2021, 17:55
а лучший вариант запускать через ссх скрипт. тогда ничего менять не придется.
На сайте с 22.11.2013
23 июля 2021, 17:57
через ssh exec сойдет?
На сайте с 25.05.2007
23 июля 2021, 18:03
lutskboy #:
через ssh exec сойдет?
напрямую скрипт вызывать
при нажатие ctrl+c скрипт вырубается
На сайте с 25.05.2007
23 июля 2021, 18:08
lutskboy #:
через ssh exec сойдет?

если непосредственно из скрипта вызывать exec то там от сервера зависит, либо от хостинга, права доступа и т.д. вопрос более глубокий чем вы думаете

Как остановить скрипт php

Здесь могла бы быть ваша реклама

Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel

Помог: 3 раз(а)

Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.

Само собой я знаю что ответят мне тут же, и если я посмотрю
на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
вопрос автора и еще два сообщение вида Ответ + Спасибо

После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..

Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.

Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.

На последок как оно происходит на форумах

Цитата:

Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.

Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12

Остановка PHP скрипта запущенного через URL?

Как можно остановить запущенный через URL бесконечный PHP скрипт? Под бесконечным подразумеваю то, что когда пользователь закроет окно он продолжит выполнятся. Вот мне его теперь нужно остановить как-то тоже через URL.

  • Вопрос задан более трёх лет назад
  • 284 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1
Евгений Вольф @Wolfnsex Куратор тега PHP
Если не хочешь быть первым — не вставай в очередь!

Вот мне его теперь нужно остановить как-то тоже через URL.

Вариантов которые мне сходу приходят в голову, примерно два:
1. Убить процесс, который выполняет этот скрипт (зависит от того, как это скрипт был запущен)
2. Через другой скрипт, записывать некий код: в базу данных, файл, хранилище или куда-нибудь ещё — который будет готовить, что первый скрипт должен прервать своё выполнение, в это время, первый скрипт будет периодически проверять наличие этого изменения (говорящего о том, что ему нужно прерваться) и при обнаружении такового — будет прерываться сам

P.S. PHP-скрипты не запускаются «через URL» и обычно никоим образом не связаны с браузером. В классическом случае — их запускает веб-сервер или FCGI-сервер. Иными словами, в PHP (как и в любом другом подобном скрипте) изначального такого понятия как «закрылся браузер» — не существует.

Как остановить выполнение PHP-скрипта?

Когда вы разрабатываете свой модуль, вы должны позаботиться обо всех вариантах событий, которые могут произойти при выполнении скрипта.

Например, человек заполняет форму обратной связи. Заполнил все поля, кроме обязательного поля «Телефон». Если в нужном месте мы не поставим условие и остановку скрипта, мы либо получим ошибки на экране, либо письмо с пустым обязательным полем.

С условием, я думаю, вы справитесь и сами, а вот то, как остановить выполнение скрипта, я сейчас покажу.

Для остановки выполнения сценария можно воспользоваться двумя функциями.

Первая – это:

 exit();

Все, что стоит после этих функций, не выполняется. По желанию с помощью этих функций можно вывести сообщение, при этом последующее выполнение скрипта также будет приостановлено.

В таком случае переменная «$content» не появится на экране.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *