【问题标题】:PHP Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\vendor\symfony\process\Pipes\WindowsPipes.php on line 140PHP 致命错误:第 140 行 C:\xampp\htdocs\vendor\symfony\process\Pipes\WindowsPipes.php 中的最大执行时间超过 60 秒
【发布时间】:2018-07-31 09:42:32
【问题描述】:

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

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

我使用FfmpegSymfony/process

Laravel 中symfony windowsPipes.php 的错误。

什么问题?

【问题讨论】:

标签: php ajax laravel symfony ffmpeg-php


【解决方案1】:

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

max_execution_time=300

或者,在您的 PHP 代码中:

ini_set('max_execution_time', 300); // 5 minutes

将其设置为零会消除限制,但是 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 服务器文档。

【讨论】:

  • 当我将它添加到我的 php.ini 中时,它会告诉我这个错误 PHP: syntax error, unexpected '(' in C:\xampp\php\php.ini on line 221
  • @GhyathDarwish 因为这是 PHP 代码,而不是配置。如果你想在php.ini中写,你只需要写max_execution_time=300
  • 我也重新启动了服务器,但它仍然是
  • set_time_limit(300) 在您的 PHP 代码中也可以正常工作
【解决方案2】:

问题是上传需要超过 30 秒,你可以像这样延长最大执行时间,去你的 xampp 中的 php.ini 并设置这个

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

【讨论】:

    【解决方案3】:

    在 php.ini 文件中设置 max_execution_time 可能并不适用于所有情况,无论如何设置一些 300 秒。但是对于所有情况,在您要执行的文件中写入ini_set('max_execution_time', 300); 将为您完成工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2023-01-31
      • 2019-12-03
      • 2015-03-31
      • 1970-01-01
      • 2016-10-02
      • 2016-10-17
      相关资源
      最近更新 更多