- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем добрый день!
У меня есть php скрипт, который обрабатывает аякс запросы. После выдачи ответа клиенту скрипт должен продолжить работу.
Пробую использовать этот механизм:
ignore_user_abort(true); // отсоединение клиента не должно прерывать выполнение скрипта
set_time_limit(0); // дальнейшее время работы не ограничено
ob_start(); // включить буферизацию
echo $p1."|".$p2."|".$p3."|".$p4; // это результат для аякса
header('Connection: close'); // сообщить клиенту что далее ничего нет
header('Content-Length: '.ob_get_length());
ob_end_flush(); // очистить буфер всеми способами
ob_flush();
flush();
Такая комбинация помогает в работе, но только если далее не включаются curl , а мне как раз их надо использовать. При появлении curl клиент ждет все время запросов курлами, а это достаточно долго, и только после этого получает свою информацию.
Пробовал использовать fastcgi_finish_request(); , но он убивает все следующие за ним курлы.
Есть ли несложное решение задачи?
SPQ, fastcgi_finish_request() это как раз то, что вам нужно. Но он будет работать, если у вас php работает в fastcgi режиме, т.е. с помощью сервиса php-fpm. У вас VPS или shared хостинг?
Можно то что делает скрипт после echo, выполнять другим скриптом, а его запускать кёрлом с маленьким таймаутом.
SPQ, fastcgi_finish_request() это как раз то, что вам нужно. Но он будет работать, если у вас php работает в fastcgi режиме, т.е. с помощью сервиса php-fpm. У вас VPS или shared хостинг?
У меня VPS
---------- Добавлено 01.04.2019 в 19:25 ----------
Можно то что делает скрипт после echo, выполнять другим скриптом, а его запускать кёрлом с маленьким таймаутом.
Можно простой пример?
SPQ, в таком случае убедитесь, что ваши скрипты обрабатываются с помощью php-fpm. Если это не так (например, у вас apache + mod_php), то поменяйте конфигурацию:
http://blog.sedicomm.com/2018/05/26/kak-ustanovit-apache-s-php-fpm-fastcgi-na-ubuntu-16-04/
https://habr.com/ru/post/320036/
SPQ, в таком случае убедитесь, что ваши скрипты обрабатываются с помощью php-fpm. Если это не так (например, у вас apache + mod_php), то поменяйте конфигурацию:
http://blog.sedicomm.com/2018/05/26/kak-ustanovit-apache-s-php-fpm-fastcgi-na-ubuntu-16-04/
https://habr.com/ru/post/320036/
настройки fpm есть в PHP 5.6.33-0+deb8u1 (native)
---------- Добавлено 01.04.2019 в 19:52 ----------
Переключил режим в CGI и добавил fastcgi_finish_request(); , курлы умерли
SPQ, CGI это не то же самое, что fastcgi через php-fpm. Вам нужно именно через php-fpm.
SPQ, CGI это не то же самое, что fastcgi через php-fpm. Вам нужно именно через php-fpm.
К сожалению, я не смогу пока сам сделать нужные установки, но смогу попросить об этом хостера. Надеюсь, помогут. Наряду с обработчиками apache и cgi мне попросить доустановить fastcgi?
И сайт перестанет работать.
И сайт перестанет работать.
Почему перестанет?
Если сайт завязан на конфигурацию апача, то эта привязка перестанет работать.
Ну то есть конфигурация изменится, пойдут "косяки", и придётся привлекать специалистов, чтобы всё перенастроить.