当PHP执行MySQL查询时,如果查询所需时间超过了PHP的最大执行时间(默认为30秒),将会抛出Fatal error: Maximum execution time ...错误。这时需要修改PHP的最大执行时间限制。
下面是完整的攻略步骤:
第一步:确定PHP当前的最大执行时间
在PHP脚本中增加一行代码:
echo ini_get('max_execution_time');
执行以上代码输出当前PHP的最大执行时间。如果输出的时间少于数据库查询所需的时间,则需要修改最大执行时间。
第二步:修改PHP最大执行时间
在php.ini中修改max_execution_time指令即可。
max_execution_time = 60
此处将PHP的最大执行时间改为60秒。如果修改php.ini不实际,你也可以尝试使用ini_set函数直接在PHP脚本中修改最大执行时间。
ini_set('max_execution_time', 60);
将PHP的最大执行时间改为60秒。
示例一:使用mysql_connect连接MySQL
在连接MySQL之前可以使用ini_set方法修改PHP的最大执行时间。示例代码如下:
ini_set('max_execution_time', 60); // 将PHP的最大执行时间改为60秒
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
示例二:使用MySQLi连接MySQL
使用MySQLi时可以在mysqli连接参数中指定最大执行时间,示例代码如下:
$conn = mysqli_connect("example.com", "user", "password", "database", null, null, 60);
以上代码将PHP的最大执行时间改为60秒,同时将MySQL的查询超时时间也设置为了60秒。如果查询超过60秒,将会抛出“mysqli_query(): MySQL server has gone away”错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决PHP mysql_query执行超时(Fatal error: Maximum execution time …) - Python技术站