php timeout - yaokun123/php-wiki GitHub Wiki

1、php.ini

1、max_execution_time = 30
每个脚本最大可执行时间,cli模式下为0。计算的是cpu占用时间,sleep(),system(),和数据库操作都不计算。


2、default_socket_timeout = 60
default_socket_timeout是socket流的超时参数,即socket流从建立到传输再到关闭整个过程必须要在这个参数设置的时间以内完成,
如果不能完成,那么PHP将自动结束这个socket并返回一个警告。
类似的一个PHP配置是connection_timeout,不过connection_timeout是指保持连接的时间超时,不包括创建和销毁连接。

3、mysqlnd.net_read_timeout = 5
php中设置mysql查询读取数据的超时时间方法
<?php
    $dsn = 'mysql:dbname=demo;host=127.0.0.1;port=3306';
    $user = 'demo';
    $password = 'demo';
    $dbh = new PDO($dsn, $user, $password);
    $dbh->query("set names utf8");
    $sql = "select sleep(5)";
    $sth = $dbh->query($sql);
    $row = $sth->fetch();
    echo "over";
?>

2、fpm.conf

request_terminate_timeout = 60s
执行一个请求的超时时间,在这之后worker进程将被终止。计算的是worker进程的工作时间