Intereting Posts
РЕШЕНИЕ НАЙДЕНО – одни и те же строки, но var_dump () говорит, что один из них длиннее на 5 символов Magento – передача данных между контроллером и блоком Удалить строку содержит определенные слова / фразы с помощью PHP Как создать массив из этого набора результатов (вложенные категории, хранящиеся в базе данных с моделью обхода)? Каков наилучший способ сделать панировку с помощью Code Igniter? Laravel защищает файлы Amazon s3 bucket Выполнение команд Linux с помощью PHP Создать градиентный цвет из PHP добавление переменной php в Xpath Сравнить 2 изображений в php Как получить родительский идентификатор (родитель root) из дочернего id Неизвестный модификатор '(' при использовании preg_match () с выражением REGEX Что означает? == оператор сравнения в PHP означает? Форматирование данных JSON с использованием PHP Как выбрать идентификатор строки mysql для предложения WHERE в UPDATE, INSERT, DELETE через php?

Блокировка PHP / Apache по каждому запросу?

Хорошо, это может быть глупый вопрос, но здесь. Я заметил что-то на днях, когда я играл с разными конвертерами HTML в PDF в PHP. Один из них, который я попробовал (dompdf), навсегда запустил мой HTML-код. В конце концов, у него закончилась нехватка памяти и закончилось, но пока он все еще работал, ни один из моих других скриптов PHP не реагировал вообще. Это было почти так, как если бы этот запрос блокировал весь Web-сервер.

Теперь я предполагаю, что это не может быть правильным, или я должен что-то устанавливать где-то, чтобы контролировать это поведение. Может кто-нибудь, пожалуйста, подскажите мне?

Related of "Блокировка PHP / Apache по каждому запросу?"

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

Совет. Не знаете, почему вы хотите html в pdf, но вы можете взглянуть на FOP http://xmlgraphics.apache.org/fop/ для создания PDF-файлов. Я использую его и отлично работаю … и быстро 🙂 У него есть свои причуды.

Возможно, все скрипты, которые вы пытались запустить в одном пуле приложений. (По крайней мере, так оно и называется в IIS.)

Однако еще одно объяснение заключается в том, что некоторые браузеры будут размещать запросы в очереди по одному соединению. Это вызвало у меня некоторую путаницу в прошлом. Если ваш веб-браузер ожидает ответа от вашего домена yourdomain.com/script1.php, и вы откроете другое окно или вкладку для вашего доменаdomain.com/script2.php, этот запрос не будет отправлен до тех пор, пока первый запрос не получит ответ, создающий впечатление весь ваш веб-сервер висит. Простой способ проверить, если это то, что происходит, попробуйте два запроса в двух отдельных браузерах.

Похоже, сервер просто перегружен и находится под слишком большой нагрузкой для завершения запросов. Преобразование HTML-файла в PDF – довольно сложный процесс, так как PHP-скрипт должен эффективно предоставлять те же функции, что и веб-браузер, и визуализировать HTML с помощью функций рисования PDF.

Я бы предложил вам разделить HTML на отдельные файлы меньшего размера или запустить сценарий как запланированную задачу непосредственно через PHP, независимо от сервера.