【问题标题】:Maximum execution time in phpMyadminphpMyadmin 中的最长执行时间
【发布时间】:2010-11-18 19:39:36
【问题描述】:

当我尝试在 phpMyadmin 中执行(某些)查询时,出现此错误

致命错误:超过 60 秒的最大执行时间 C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php 在第 140 行

因为我有一个非常大的表(超过 900 万条记录)

我已经编辑了文件 C:\xampp\php\php.ini

并将“最大执行时间”的值从 60 更改为 1000,然后重新启动 PHP,仍然有同样的错误。

有什么办法吗?

【问题讨论】:

  • 您必须要求重新启动服务器。更改配置或 ini 文件后。

标签: php mysql database xampp execution-time


【解决方案1】:

我有同样的错误,请转到

xampp\phpMyAdmin\libraries\config.default.php

寻找:$cfg['ExecTimeLimit'] = 600;

您可以将“600”更改为任何更高的值,例如“6000”。

以秒为单位的最大执行时间为(0 表示无限制)。

这将解决您的错误。

【讨论】:

  • 您可以使用代码格式化来明确什么是代码,什么不是代码:)
  • 很清楚(在文件的标题中)你不应该编辑这个文件。相反,您应该编辑 config.inc.php,添加这一行,正如它在其他答案中所说的那样
  • 在下面查看我的答案。这就是要走的路;)
  • 将此添加到config.inc.php 并没有为我完成这项工作。修改config.default.php 有帮助并且有效。
  • 对于 wamp 路径是 wamp64\apps\phpmyadmin4.6.4\libraries\config.default.php 或者您可以通过单击 wamp tray icon > Apache > Alias Directories 找到 phpmyadmin 目录的路径并编辑 phpmyadmin。同样正如 dsnunez 所提到的,最好编辑 config.inc.php --edit-- 编辑 config.inc.php 对我不起作用
【解决方案2】:

适用于 Windows 上的 Xampp 版本

添加这一行到xampp\phpmyadmin\config.inc.php

$cfg['ExecTimeLimit'] = 6000;

并将 xampp\php\php.ini 更改为

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

并更改xampp\mysql\bin\my.ini

max_allowed_packet = 200M

【讨论】:

  • 我遇到了完全相同的问题,只是数据集要小得多(~120k 行)——你的回答肯定会让事情变得更好:)。
  • 当在桌子上按浏览时,我立即得到了 xampp for Windows 的脚本超时 ~ 130mb
  • 可悲的是$cfg['ExecTimeLimit'] = 6000; 似乎对我的安装影响为零。我宁愿在本地设置它而不是在适用于整个服务器的 php.ini 中设置它,但也许这是唯一的选择。
  • 不确定所有的功能,但你得到了我的投票 :-)
【解决方案3】:

我在执行 curl 时遇到了同样的问题。 当我在php.ini 文件中更改以下内容时,我做对了:

max_execution_time = 1000 ;

还有

max_input_time = 1000 ;

您的问题应该可以通过进行以上两个更改并重新启动 apache 服务器来解决。

即使更改了上述问题仍然存在,如果您认为这是由于使用 mysql 进行的某些数据库操作,您也可以尝试更改此设置:

mysql.connect_timeout = 1000 ; // this is not neccessary

所有这些都应该在 php.ini 文件中进行更改,并且 apache 服务器应该是 重新启动以查看更改。

【讨论】:

    【解决方案4】:

    您的更改应该有效。但是,“xampp”堆栈可能很少有 php.ini 配置文件。尝试确定是否存在特定于“apache”的 php.ini。一个可能的位置是:

    C:\xampp\apache\bin\php.ini

    【讨论】:

    • 在我的 xampp 上 C:\xampp\php\php.ini 中的那个文件和转到行号 442 (大约 - 有时该行号会在手动编辑后更改)max_execution_time = 1000 但是这个不适合我。然后我会在 C:\xampp\phpMyAdmin\config.inc.php $cfg['Servers'][$i]['bs_temp_blob_timeout'] = 1200; 上试试这个
    【解决方案5】:

    为 Web 应用程序更改 php.ini 需要重新启动 Apache。

    您应该通过运行执行函数phpinfo() 的PHP 脚本来验证更改是否发生。该函数的输出会告诉你很多 PHP 参数,包括超时值。

    您可能还更改了php.ini 的副本,该副本与 Apache 使用的文件不同。

    【讨论】:

      【解决方案6】:

      ini_set('max_execution_time', 0); 或创建名为php.ini 的文件名并输入第一行max_execution_time=0 然后保存并将文件放在应用程序的根文件夹中。

      就是这样。祝你好运。

      【讨论】:

      • 有一个set_time_limit() 函数。无需(ab)使用ini_set()
      【解决方案7】:

      适合 Wamp 用户,

      转至:wamp\apps\phpmyadmin3.3.9\libraries

      在第 536 行,locate $cfg['ExecTimeLimit'] = 0;

      并将值从 0 更改为 6000。例如

      $cfg['ExecTimeLimit'] = 0;
      

      $cfg['ExecTimeLimit'] = 6000;
      

      重新启动 wamp 服务器和 phew。

      它就像魔术一样工作!

      【讨论】:

      • 这其实是错误的,应该是反过来0表示没有执行时间限制
      【解决方案8】:

      在 WAMP 上对我有用的是修改文件: \Wamp64\alias\phpmyadmin.conf,行:

       php_admin_value max_execution_time 600
       php_admin_value max_input_time 600
      

      我不必更改库文件。

      【讨论】:

        【解决方案9】:

        “零”无限时间。

        C:\Apache24\htdocs\phpmyadmin\libraries\Config.class.php

        /**
         * maximum execution time in seconds (0 for no limit)
         *
         * @global integer $cfg['ExecTimeLimit']
         */
        $cfg['ExecTimeLimit'] = 0;
        

        您也可以直接从 MySQL 导入大文件作为查询或 PHP 查询。

        500,000 行只用了 18 秒就在本地服务器上导入,使用这种方法。

        (先创建表)- 然后:

        LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
        INTO TABLE Your_Table_Name 
        FIELDS TERMINATED BY ',' 
        LINES TERMINATED BY '\n' 
        

        【讨论】:

          【解决方案10】:

          在 php.ini 中你也必须检查 mysql.connect_timeout。 这负责关闭套接字并返回致命的。 因此,例如,将其更改为:

          mysql.connect_timeout = 3600
          

          该时间始终以秒为单位,因此在我的示例中,您有 1 小时。

          【讨论】:

            【解决方案11】:

            可能您正在使用 XMAPP 作为服务,要正确重启 XMAPP,您必须打开 XMAPP 控制面板,取消选中针对 Apache 和 MySQL 的“Svc”mdodules。然后点击退出,现在重启 XMAPP 就完成了。

            【讨论】:

              【解决方案12】:

              转到xampp/php/php.ini

              找到这一行:

              max_execution_time=30
              

              并将其值更改为您想要的任何数字。重启 Apache。

              猜你喜欢
              • 2016-02-12
              • 2011-03-03
              • 2019-04-07
              • 2023-03-29
              • 2021-04-13
              • 2013-02-23
              • 1970-01-01
              • 2012-09-25
              相关资源
              最近更新 更多