我想进口一个大的。在XAMPP中使用phpMyAdmin的sql数据文件。然而,这需要花费很多时间,我不断得到:
致命错误:在C:\xampp\phpMyAdmin\libraries\dbi\DBIMysqli中超过了300秒的最大执行时间。班php在线285
这个文件大约有120万行长。
这个文件大约有30MB大,所以没有那么大。我真不明白为什么要花这么长时间。
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time=30000
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time=60
; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64
; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit=200M
这是配置文件php.ini在xampp,由于某种原因,我仍然得到
致命错误:在C:\xampp\phpMyAdmin\libraries\dbi\DBIMysqli中超过了300秒的最大执行时间。班php第285行。
phpMyAdmin目录中有一个配置变量,可以在libraries\config中找到。违约php
称为$cfg['ExecTimeLimit']
,您可以将其设置为所需的最大执行时间。
为了消除这个问题,您需要将phpMyadmin变量设置为0(不受限制),或者设置为适合您需要的秒值。或者,您也可以始终使用CLI(命令行界面)甚至不获取此类错误(您希望查看此链接)。
现在,关于这里的错误,首先,为了安全起见,请确保正确设置了PHP参数,以便可以上载大型文件,并且可以使用最长的执行时间。如果没有,请继续从php中设置以下三个参数。ini文件,
完成后,返回到查找名为“config.default.php”的phpMyadmin配置文件。在XAMPP上,您可以在“C:\XAMPP\phpMyAdmin\libraries”文件夹下找到它。打开名为config的文件。违约php
和设置:
$cfg['ExecTimeLimit'] = 0;
设置好后,重启MySQL和Apache,然后导入数据库。
享受……:)
您正试图通过Web界面导入一个巨大的数据集。
默认情况下,在web服务器上下文中运行的PHP脚本有一个最大执行时间限制,因为您不希望一个错误的PHP脚本占用整个服务器并导致拒绝服务。
因此,您的导入失败。PHPMyAdmin是一个Web应用程序,正在达到PHP所施加的限制。
你可以试着提高限额,但这个限额的存在有一个很好的理由,所以这是不可取的。在web服务器上运行一个需要很长时间才能执行的脚本是一个非常糟糕的主意。
PHPMyAdmin并不真正适用于像这样的繁重工作,它适用于日常家务管理任务和故障排除。
你最好的选择是使用适当的工具来完成这项工作,比如mysql命令行工具。假设您的文件是SQL转储,那么您可以尝试从命令行运行以下操作:
mysql -u(your user name here) -p(your password here) -h(your sql server name here) (db name here) < /path/to/your/sql/dump.sql
或者,如果您不习惯使用命令行工具,那么像SQLYog(适用于Windows)、Sequel Pro(适用于Mac)等可能更适合运行导入作业