在这篇快速文章中,我们将探讨不同的选项,这些选项允许您增加脚本在被 php 中的解析器终止之前允许运行的最长时间。
PHP中的max_execution_time
指令是什么?
该max_execution_time
指令设置脚本在终止之前允许运行的最长时间。默认为 30 秒,您可以根据需要将其增加到合理的限制。
通常,您会注意到,如果脚本执行时间过长,PHP 会抛出著名的最大执行时间超出错误:
Fatal error: Maximum execution time of 30 seconds exceeded
在大多数情况下,该max_execution_time
指令未自定义,因此默认为 30 秒,您最终可能会遇到此错误。
在下一节中,我们将讨论增加max_execution_time
指令值的几种不同方法。
如何增加max_execution_time
PHP
有几种不同的方法可以增加脚本执行时间。
ini_set
功能_
max_execution_time
这是增加指令价值的最简单方法之一。该ini_set
函数用于更改php.ini配置文件中可用的配置指令的值。因此,我们可以使用它来更改max_execution_time
指令的值。
要增加脚本执行时间,您可以在脚本顶部使用以下代码段。
ini_set('max_execution_time', '300');
在上面的示例中,它将max_execution_time
指令设置为 300 秒。
另一方面,如果将其设置为 0,它将允许脚本无限运行。执行此选项时必须非常小心,并且从不建议在生产中使用。
php.ini配置文件
如果你想max_execution_time
全局增加指令的值,你应该使用这个选项。当然,您需要获得更改php.ini文件的权限。
继续并在您的服务器上找到php.ini文件。如果你不知道怎么做,我会在另一篇文章中解释如何找到php.ini文件。
PHP PHP 配置文件 php.ini 在哪里?
找到php.ini文件后,使用您喜欢的文本编辑器打开它并查找以下行:
; Maximum execution time of each script, in seconds ; https://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI Sapi max_execution_time = 30
根据您的需要更改它,保存它,然后重新启动您的 Web 服务器。
set_time_limit
功能_
除了ini_set
我们刚刚讨论的函数之外,还有另一个 PHP 函数可以让您设置脚本的最长执行时间。该set_time_limit
功能允许您设置脚本允许运行的秒数。
让我们快速看看这个set_time_limit
函数是如何工作的。
set_time_limit(300);
如您所见,该set_time_limit
函数接受一个参数:秒数。如果将其设置为 0,则允许脚本无限运行。
事实上,该set_time_limit
函数的工作方式与指令略有不同max_execution_time
。调用该set_time_limit
函数时,它将超时计数器重置为零。从那里开始,它会测量您使用该set_time_limit
函数设置的脚本执行时间。
我们假设一个脚本执行了 10 秒,然后set_time_limit
调用该函数将脚本执行时间设置为 30 秒。在这种情况下,脚本在终止之前将运行总共 40 秒。所以如果你想使用这个set_time_limit
函数来设置一个脚本的最大执行时间,你应该把它放在你脚本的顶部。
Apache 用户:.htaccess文件
如果您使用 Apache 服务器为您的网站提供动力,它会提供.htaccess配置文件,它允许您设置php.ini配置指令。在本节中,我们将了解如何使用.htaccess文件来设置max_execution_time
指令。
首先,您需要在项目中找到.htaccess文件。在大多数情况下,您应该能够在项目的文档根目录中找到它。如果在项目根目录中找不到它,则需要确保它没有被文件管理器软件隐藏,因为.htaccess文件名前的点表示它是隐藏文件。您可以使用文件管理器中的显示隐藏文件选项来查看文档根目录中的所有隐藏文件。如果仍然找不到,则需要创建一个。
在您喜欢的文本编辑器中打开.htaccess文件,并在末尾添加以下行。
php_value max_execution_time 300
保存它,你就完成了!
结论
今天,我们讨论了几种在 PHP 中更改max_execution_time
指令值的不同方法。
通过免费在线课程学习 PHP
如果您想学习 PHP,请查看我们 关于 PHP 基础的免费在线课程!
在本课程中,您将学习 PHP 编程的基础知识。您将从基础开始,了解 PHP 的工作原理并编写简单的 PHP 循环和函数。然后,您将构建简单的面向对象编程 (OOP) 的编码类。在此过程中,您将学习为 Web 编写应用程序的所有最重要技能:您将有机会练习响应 GET 和 post 请求、解析 JSON、验证用户以及使用 mysql 数据库。
- ini_set功能_
- php.ini配置文件
- set_time_limit功能_
- Apache 用户:.htaccess文件
- 通过免费在线课程学习 PHP