Maison > développement back-end > Problème PHP > Explication détaillée de la façon de définir le délai d'expiration de php.ini

Explication détaillée de la façon de définir le délai d'expiration de php.ini

PHPz
Libérer: 2023-04-11 14:01:08
original
1197 Les gens l'ont consulté

在使用 PHP 执行长时间运行的脚本时,我们经常遇到脚本运行时间过长的问题。当脚本运行时间超过预定的时间限制时,PHP 会自动终止脚本的执行,并返回错误信息。这个时间限制就是 PHP 的超时时间(timeout)。默认情况下,PHP 的超时时间是 30 秒。对于一些需要大量计算或者处理的脚本来说,这个时限可能远远不够,需要手动设置更长的超时时间。

下面介绍在 php.ini 文件中设置超时时间的方法。

  1. 找到 php.ini 文件的位置

在 Linux 系统中,可以使用如下命令查找 php.ini 文件的位置:

php -i | grep php.ini
Copier après la connexion

命令执行后会显示 php.ini 文件的路径,例如:

Configuration File (php.ini) Path => /usr/local/php7/lib
Loaded Configuration File => /usr/local/php7/lib/php.ini
Copier après la connexion

在 Windows 系统中,可以使用搜索工具查找 php.ini 文件。

  1. 打开 php.ini 文件

使用文本编辑器打开 php.ini 文件。注意:php.ini 文件通常是系统级别的配置文件,需要管理员权限。

  1. 找到并修改以下两个配置项
; Maximum amount of time each script may spend parsing request data.
; Default: 60
; Change: 600
max_input_time = 600

; Maximum execution time of each script, in seconds
; Default: 30
; Change: 300
max_execution_time = 300
Copier après la connexion

一般情况下,修改以上两个配置项即可将 PHP 超时时间设置为 10 分钟。其中,

  • max_input_time 指 PHP 脚本最大的运行时间,以秒为单位。在这个时间内,脚本的输入数据必须被解析完毕。
  • max_execution_time 指 PHP 脚本的最大执行时间,以秒为单位。在这个时间内,脚本必须执行完毕,否则 PHP 引擎将终止脚本的执行。

需要注意的是,max_execution_time 的设置不能超过 PHP-FPM、Web 服务器、操作系统等其他组件的限制。如果这些组件的限制时间更短,那么超时时间也将被限制在更短的时间内。

  1. 保存并重新启动 PHP

修改完 php.ini 文件后,保存并重启 PHP。

在 Linux 系统中可以使用命令:

sudo systemctl restart php-fpm
Copier après la connexion

在 Windows 系统中可以在命令行中输入:

iisreset
Copier après la connexion

或者,在服务管理器中重启 IIS 服务。

经过以上操作,我们就可以将 PHP 的超时时间设置为我们需要的时间了。当然,设置太长的超时时间也会对服务器的性能带来一定压力,需要根据实际情况和需求进行合理设置。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal