2015-11-24 4 views
0

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

500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.

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

PHP Version: 5.4.23

System: Windows NT SDADMIN32263436 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586

Любые советы?

Спасибо

+0

Вы просмотрели конфигурацию php.ini или как настроить загрузку php на сервере Windows Server 2008? – IlGala

+0

да, но я не уверен, какой параметр определяет это поведение – Andrea

+0

проверить журналы ошибок! – Naruto

ответ

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

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

" max_execution_time " integer

This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.

The maximum execution time is not affected by system calls, stream operations etc. Please see the " set_time_limit() " function for more details.

[...]

" max_input_time " integer

This sets the maximum time in seconds a script is allowed to parse input data, like POST, GET and file uploads.

[...]

Additionally here's some info on checking/setting CGI Timeout in IIS5 and 6 .

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^