PHP chdir() и redirect() вызывают внутреннюю ошибку сервера 500 в IIS

Я сделал для пользователя функцию создания видео из изображений (используя mencoder). К сожалению, я не смог указать путь к списку изображений непосредственно в команде (я искал решения, но это выглядит невозможным в Windows), поэтому мне пришлось изменить рабочий каталог в php-скрипте. После выполнения команды я меняю каталог на предыдущий, а затем перенаправляю на другую страницу. Похоже, что эта комбинация заказов вызывает 500 внутренних ошибок сервера в IIS (он работает правильно на Apache)

chdir($path_images);

exec($mencoder." mf://*.png -mf w=1920:h=1080:fps=25:type=png -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 -o output.avi");

chdir($path_to_default_working_directory);

redirect('home');

Кто-нибудь знает, как это решить?

ОБНОВЛЕНИЕ: вот скриншот из подробного сообщения об ошибке. введите здесь описание изображения


person mesnicka    schedule 26.04.2016    source источник
comment
что показывают ваши логи?   -  person Funk Forty Niner    schedule 26.04.2016
comment
Я новичок в IIS и не могу найти файл журнала (кроме некоторых журналов ftp, u_extend.log)   -  person mesnicka    schedule 26.04.2016
comment
Используйте отчеты об ошибках, а затем php.net/manual/en/function.error-reporting. php и настройте перехват и отображение, посмотрите, получится ли что-нибудь из этого.   -  person Funk Forty Niner    schedule 26.04.2016
comment
Ошибка 500 означает одно и только одно: прочтите журнал ошибок! Поскольку ошибка 500 может быть вызвана десятками причин, единого ответа на этот вопрос нет.   -  person Oldskool    schedule 26.04.2016


Ответы (1)


Во-первых, включите удобные для пользователя ошибки в IIS, чтобы вы могли получить точное сообщение об ошибке, а не общее 500.

  1. Войдите в диспетчер IIS.
  2. Разверните сайты и выберите имя своего веб-сайта.
  3. В представлении «Функции» в разделе «ASP.Net» выберите «ASP.Net».
  4. В разделе «Отладка» нажмите «Отправить ошибку в браузеры» и установите для нее значение «Истина».
  5. Сохраните настройки.

Также,

  1. В представлении «Функции» в разделе «IIS» выберите «Сообщение об ошибке».
  2. Выберите ошибку 500 и щелкните ее правой кнопкой мыши.
  3. Выберите «Редактировать параметры функции».
  4. Выберите «Подробная ошибка» и нажмите «ОК», чтобы сохранить настройки.
person S-Mun    schedule 26.04.2016