PHP 脚本在 60 秒后超时

标签 php ubuntu timeout

我目前正在编写一个 php 脚本,该脚本访问远程服务器上的 csv 文件,处理数据然后将数据写入本地 MySQL 数据库。因为要处理和插入数据库的数据太多(50,000 行),所以脚本的运行时间超过 60 秒。我遇到的问题是,脚本在 60 秒后超时。

为了确保它不是 MySQL 问题,我创建了另一个进入无限循环的脚本,并且它也在 60 秒时超时。

我尝试在 Ubuntu 服务器上增加/更改以下设置,但它 没有帮助:
max_execution_time
最大输入时间
mysql.connect_timeout
default_socket_timeout
apache2.conf 文件中的 TimeOut 值。

这可能是一个问题,因为我正在从 Web 浏览器访问 PHP 文件吗?网络浏览器有超时限制吗?

任何帮助,将不胜感激。

最佳答案

克服此限制的最简单且侵入性最小的方法是将此行添加到您的脚本中。

然后,您只是修改此脚本的执行时间,而不是修改所有 PHP 脚本,如果您修改了 2 个 PHP.INI 文件中的任何一个,情况就会如此

ini_set ('max_execution_time',  -1);

当你试图修改 php.ini文件我猜你是在修改错误的一个,有 2 个,一个仅用于 PHP CLI,一个由运行 Apache 的 PHP 使用。

为了将来引用查找 php-apache 使用的实际文件,只需执行
<?php
phpinfo();
?>

并寻找 Loaded Configuration File

关于PHP 脚本在 60 秒后超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37374720/

相关文章:

javascript - 根据动画延迟设置超时函数

PHP https 使用 cURL 发布 XML 数据

javascript - 使用 jQuery 和 mysqli_num_rows() 获取错误的数组长度

javascript - 从数组中设置 fullcalendar 中的事件

linux - 从 Linux Shell 递归解压?

linux - SO_RCVTIMEO 醒得太早

php - WooCommerce 产品循环中的复选框在 Ajax 上添加选项添加到购物车

linux - bash 脚本不工作,无法发现任何错误

C++17 根据文件路径自动创建目录

超过 MySQL 锁等待超时