iis — Php: 500 — внутренняя ошибка сервера

У меня есть скрипт php для многократной загрузки файлов.
Я заметил, что когда загрузка занимает более (около) двух минут, я получаю следующую ошибку:

500 — внутренняя ошибка сервера. Существует проблема с ресурсом, который вы
ищите, и это не может быть отображено.

Некоторая информация:

Версия PHP: 5.4.23

Система: Windows NT SDADMIN32263436 6.1 сборка 7601 (Windows Server 2008
R2 Standard Edition с пакетом обновления 1) i586

Какие-нибудь советы?

Спасибо

0

Решение

По умолчанию PHP позволяет загружать файлы размером только пару мегабайт. Вы можете попробовать изменить следующие директивы в файле php.ini ….

memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M

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

Однако он не может быть связан с размером загрузки вообще. Так как PHP на стороне сервера, ошибка 500 невероятно универсальна. Вы можете попытаться просмотреть ваши лог-файлы PHP (вы можете сделать это на IIS через сервер 2008).

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

ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);

Это будет означать, что PHP покажет все ошибки, с которыми он сталкивается в браузере. Это НЕ хорошая идея для этого в производстве, поскольку она может дать конфиденциальную информацию о вашем сервере и хостинге.

0

Другие решения

Я имею в виду этот вопрос. У этого пользователя, похоже, такая же проблема, как и у вас этот ответ ему было предложено внести некоторые изменения в конфигурационный файл:

«max_execution_time» целое число

Это устанавливает максимальное время в секундах, в течение которого скрипту разрешено запускаться, прежде чем он будет остановлен синтаксическим анализатором. Это помогает предотвратить связывание плохо написанных сценариев с сервером. Значение по умолчанию — 30. При запуске PHP из командной строки значение по умолчанию — 0.

Максимальное время выполнения не зависит от системных вызовов, потоковых операций и т. Д.set_time_limit ()«функция для более подробной информации.

[…]

«max_input_time» целое число

Это устанавливает максимальное время в секундах, в течение которого скрипту разрешается анализировать входные данные, такие как POST, GET и загрузка файлов.

[…]

Дополнительно вот некоторая информация о проверке / настройке CGI Timeout в IIS5 и 6.

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

Наконец в этот вопрос а также этот вопрос они также говорят о конфигурации IIS, чтобы позволить PHP делать большие загрузки.

0

По вопросам рекламы [email protected]