PHP игнорирует мое max_execution_time - PullRequest
10 голосов
/ 05 октября 2011

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

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

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

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

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

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

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

Ответы [ 3 ]

19 голосов
/ 05 октября 2011

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

В строке 103 в system / core / CodeIgniter.php

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

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

2 голосов
/ 16 мая 2013

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

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

0 голосов
/ 14 декабря 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...