Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP Ignoring my max_execution_time

I have some task in my script that is about converting video with ffmpeg . I do this with codeigniter 2.0.3 and locate the script at libraries and use shell_exec() to run ffmpeg.

There are 3 tasks in my php script.

  1. Upload File
  2. Convert video to .flv
  3. Generate thumb
  4. Save to db.

When I upload file, my php script start to convert my uploaded video. But when converting is end about over 5 minutes. Its not continue to generate thumb. And Its say

PHP Fatal error: Maximum execution time of 300 seconds exceeded in C:\AppServ\www\mis\application\libraries\my_video_utility.php on line 102, referer: http://localhost/mis/test/

I have set my max_execution time, max_input_time, etc to 3600 in php.ini also add set_time_limit() and set_ini() in my php script. But, its still get error.

But, when I uploaded short video, its done.

like image 973
Muhammad Resna Rizki Pratama Avatar asked Oct 05 '11 02:10

Muhammad Resna Rizki Pratama


2 Answers

Ok. I do this my self. I have contacted my teacher. There is a something that CodeIgniter not include this in their documentation.

At line 103 in system/core/CodeIgniter.php

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

I try to change the value and it works.

like image 88
Muhammad Resna Rizki Pratama Avatar answered Sep 21 '22 20:09

Muhammad Resna Rizki Pratama


Solution to change set_time_limit() function in CodeIgniter.php is works, but I'm think it's not good idea to change framework's core files.

I'm found another decision, you can call set_time_limit() where you need and it will be overlapp setting of time limit in CodeIgniter.php.

like image 36
joni jones Avatar answered Sep 19 '22 20:09

joni jones