PHP 忽略我的 max_execution_time

发布于 2024-12-07 20:05:26 字数 621 浏览 0 评论 0原文

我的脚本中有一些关于使用 ffmpeg 转换视频的任务。我使用 codeigniter 2.0.3 执行此操作,并在库中找到脚本并使用 shell_exec() 运行 ffmpeg。

我的 php 脚本中有 3 个任务。

  1. 上传文件
  2. 将视频转换为 .flv
  3. 生成缩略图
  4. 保存到数据库。

当我上传文件时,我的 php 脚本开始转换我上传的视频。但转换结束时大约需要5分多钟。它不会继续生成拇指。它说

PHP 致命错误:第 102 行的 C:\AppServ\www\mis\application\libraries\my_video_utility.php 中超出了最大执行时间 300 秒,引荐来源:http://localhost/mis/test/

我已在 php.ini 中将 max_execution time、max_input_time 等设置为 3600,还添加 set_time_limit() 和我的 php 脚本中的 set_ini() 。但是,它仍然出错。

但是,当我上传短视频时,就完成了。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

℡Ms空城旧梦 2024-12-14 20:05:26

好的。我自己做这个。我已经联系了我的老师。 CodeIgniter 没有将其包含在其文档中。

在 system/core/CodeIgniter.php 的第 103 行,

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

我尝试更改该值并且它有效。

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.

九厘米的零° 2024-12-14 20:05:26

更改 CodeIgniter.php 中的 set_time_limit() 函数的解决方案是有效的,但我认为更改框架的核心文件不是一个好主意。

我发现了另一个决定,你可以在你需要的地方调用set_time_limit(),它将在CodeIgniter.php中重叠设置时间限制。

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.

柠栀 2024-12-14 20:05:26

Codeigniter 2 的 set_time_limit 函数运行时间为 300。升级到 Codeigniter 3 后,一件事开始失败。查看这篇文章后,我意识到 set_time_limit 调用已在 3 中删除,因此您可能必须将接受的答案中的代码添加到您的特定问题代码中。我不建议将其添加回 Codeigniter.php

Codeigniter 2 has the set_time_limit function run with 300. After upgrading to Codeigniter 3, one thing started failing. After viewing this post, I realized that the set_time_limit call was removed in 3, so you may have to add the code in the accepted answer to your particular problem code. I would not recommend adding it back into the Codeigniter.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文