PHP 致命错误:第 140 行 C:\xampp\htdocs\vendor\symfony\process\Pipes\WindowsPipes.php 中超出了 60 秒的最大执行时间

Ghy*_*ish 4 php ajax symfony ffmpeg-php laravel

当我尝试使用 Ajax 和 Laravel 上传大于 15MB 的视频时,出现此错误:

PHP 致命错误:第 140 行 C:\xampp\htdocs\vendor\symfony\process\Pipes\WindowsPipes.php 中超出了 60 秒的最大执行时间

我使用FfmpegSymfony/process

symfony windowsPipes.phpLaravel 中的错误。

什么是问题?

del*_*8uk 9

您可以在 php.ini 中设置 max_execution_time:

max_execution_time=300
Run Code Online (Sandbox Code Playgroud)

或者,在您的 PHP 代码中:

ini_set('max_execution_time', 300); // 5 minutes
Run Code Online (Sandbox Code Playgroud)

将它设置为零会取消限制,但是在这种情况下 apache 也可能超时。

检查手册 http://php.net/manual/en/info.configuration.php#ini.max-execution-time

这设置了脚本在被解析器终止之前允许运行的最长时间(以秒为单位)。这有助于防止编写不当的脚本占用服务器。默认设置为 30。从命令行运行 PHP 时,默认设置为 0。

最大执行时间不受系统调用、流操作等的影响。更多细节请参见 set_time_limit() 函数。

在安全模式下运行时,您无法使用 ini_set() 更改此设置。唯一的解决方法是关闭安全模式或更改 php.ini 中的时间限制。

您的 Web 服务器可能有其他超时配置,这些配置也可能会中断 PHP 执行。Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。两者都默认为 300 秒。有关特定详细信息,请参阅您的 Web 服务器文档。