php max执行时忽略php.ini

时间:2012-06-27 11:38:31

标签: php phpmyadmin

我正在尝试通过phpMyAdmin导出一个大型数据库。我吉普车得到一个错误,脚本停止了,因为达到了600秒的最大执行时间(或类似的东西)。我尝试将max_execution_time中的php.ini设置为0和-1。我可以在phpinfo()中看到更改生效,但我仍然收到错误。另一个问题是,最初(在我将其改为0之前)它也不是600。这是180! 600套在哪里?

3 个答案:

答案 0 :(得分:3)

查看是否在某处手动设置。假设您使用的是UNIX类型平台:

find /path/to/root/of/phpmyadmin -name "*.php" -print0 | xargs -0 grep "max_execution_time"

答案 1 :(得分:1)

您的Web服务器可能有其他超时配置,也可能会中断PHP执行。 Apache有一个Timeout指令,IIS有一个CGI超时功能。有关具体详细信息,请参阅Web服务器文档。

不要使用phpMyAdmin导入大文件。尝试使用mysql CLI导入数据库的转储。将SQL文件传输到服务器并使用PHP脚本(如shell_exec或system

)在服务器上执行以下操作
  

mysql --user = user --password = password database< database_dump.sql。

当然数据库必须存在,并且您提供的用户应具有更新数据库所需的权限。

答案 2 :(得分:-1)

PHP默认使用以下三个指令在所有php脚本上放置资源限制: => max_execution_time:每个脚本的最长执行时间,以秒为单位(默认为30秒)

=> max_input_time:每个脚本可用于解析请求数据的最长时间(60秒)

=> memory_limit:脚本可以使用的最大内存量(默认为8MB)

您的PHP脚本超时可能是因为资源限制。您需要做的就是设置新的资源限制,以便脚本执行。

如果这也不起作用,您可以使用set_time_limit(N)函数进行设置,该函数以秒为单位设置时间限制。