PHP Игнорирование моего max_execution_time

У меня есть некоторые задачи в моем скрипте, касающиеся конвертации видео с помощью ffmpeg. Я делаю это с помощью codeigniter 2.0.3 и размещаю скрипт в библиотеках и использую shell_exec () для запуска ffmpeg.

В моем php-скрипте есть 3 задачи.

  1. Загрузить файл
  2. Конвертировать видео в .flv
  3. Создать большой палец
  4. Сохранить в db.

Когда я загружаю файл, мой php-скрипт начинает конвертировать загруженное видео. Но когда конвертация заканчивается около 5 минут. Его не продолжают генерировать большой палец. И его слова

PHP Неустранимая ошибка: максимальное время выполнения 300 секунд превышено в C: \ AppServ \ www \ mis \ application \ libraries \ my_video_utility.php в строке 102, referer: http: // localhost / mis / test /

Я установил время max_execution, max_input_time и т. Д. До 3600 в php.ini также добавляет set_time_limit () и set_ini () в свой php-скрипт. Но, все еще ошибка.

Но, когда я загрузил короткое видео, его сделали.

ОК. Я делаю это сам. Я связался с учителем. Есть что-то, что CodeIgniter не включает в свою документацию.

На строке 103 в системе / ядре / CodeIgniter.php

 if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0) { @set_time_limit(300); } 

Я пытаюсь изменить значение, и оно работает.

Решение для изменения функции set_time_limit() в CodeIgniter.php работает, но я думаю, что не рекомендуется менять основные файлы инфраструктуры.

Я нашел другое решение, вы можете вызвать set_time_limit() там, где вам нужно, и это будет установка времени перекрытия в CodeIgniter.php.

Codeigniter 2 имеет функцию set_time_limit, запущенную с 300. После обновления до Codeigniter 3 одна вещь начала сбой. После просмотра этого сообщения я понял, что вызов set_time_limit был удален в 3, поэтому вам, возможно, придется добавить код в принятом ответе на ваш конкретный код проблемы. Я бы не рекомендовал добавлять его обратно в Codeigniter.php