Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress导入程序错误:最大执行时间60秒_Php_Xml_Wordpress - Fatal编程技术网

Php Wordpress导入程序错误:最大执行时间60秒

Php Wordpress导入程序错误:最大执行时间60秒,php,xml,wordpress,Php,Xml,Wordpress,我正在尝试导入带有默认插件的Wordpress主题。我发现以下错误: 致命错误:E:\XAMPP\htdocs\wp\wp includes\wp-db.php中超过了60秒的最大执行时间 这是一个基本的Wordpress 4.5.1安装,没有额外的插件或主题,除了Wordpress importer v 0.6.1,在我本地的XAMPP服务器上,执行时间限制在php.ini中设置为6000,我可以在XAMPP的php_信息中看到这个预设。 我已经尝试在wp-config.php和wp-db.p

我正在尝试导入带有默认插件的Wordpress主题。我发现以下错误:

致命错误:E:\XAMPP\htdocs\wp\wp includes\wp-db.php中超过了60秒的最大执行时间

这是一个基本的Wordpress 4.5.1安装,没有额外的插件或主题,除了Wordpress importer v 0.6.1,在我本地的XAMPP服务器上,执行时间限制在php.ini中设置为6000,我可以在XAMPP的php_信息中看到这个预设。 我已经尝试在wp-config.php和wp-db.php中添加set_time_limit(6000),结果出现了同样的错误


你知道为什么会发生这种情况,以及如何帮助它吗

您可以将其添加到php.ini中

设置时间限制(0)


这肯定会解决问题。

这是因为
php.ini
中的文件上载时间设置为
60秒,而WordPress需要更多时间来正确上载数据。随着时间在
php.ini
中结束,它会抛出该错误。解决方案是,你必须增加你的上传时间,适合你

set_time_limit(300); //it will update your time to 300 seconds or 5 minutes.
max_execution_time(300);

用您自己的php.ini文件的代码行替换该代码行,您的问题就会得到解决。如果问题仍然存在,您可以将该数字增加到300甚至更多,直到您的文件正确上载。如需进一步阅读,请访问

将其添加到.htaccess文件中

<IfModule mod_php5.c>
php_value post_max_size 16M
php_value upload_max_filesize 16M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 900
</IfModule>

我找到了发生此错误的确切原因,因此我将尝试回答我自己的问题

wp includes/deprecated.php中有一个名为wp_get_http的函数,wordpress导入器插件(在wordpress-importer.php源文件中)仍在使用该函数。 在调用此函数set_time_limit(60)时,它是所有wordpress源代码中两个参数为60的函数调用之一,因此这是将导入程序执行时间限制为60秒的地方

导入程序插件在执行流中很晚才调用wp_get_http,因此它会覆盖wp-config.php中任何其他可能的set_time_limit()调用,并且无法通过php.ini中的修改进行更正,而宿主提供程序可能恰好不允许修改

对我来说,解决这个问题的快速方法是修改wp includes/deprecated.php中wp_get_http()内的set_time_limit调用,如下所示:

set_time_limit(1200); // Limit to 20 minutes

它给wordpress导入程序20分钟的时间来获取导入过程中可能需要的所有远程文件。可能这不是最安全的解决方案,但它对我有效。

只需转到wp配置文件并粘贴此设置时间限制(60)或者只需将括号中的数字更改为所需选择。

安装自定义php设置插件

然后保存这些设置,我确信您得到了解决方案,谢谢

如果还没有解决的话


与主持人交谈。

这不起作用,是不正确的。首先,导入似乎需要超过60秒才能完成。然后,我已经在php.ini中将执行时间限制设置为6000,添加更多相同的时间没有帮助。将时间限制设置为0意味着无限执行时间我已经更新了答案,添加了最大执行时间。。。在php.ini中应用它,希望它能起作用
set_time_limit(1200); // Limit to 20 minutes
max_execution_time=60000

memory_limit=1024M

upload_max_filesize=1024M

post_max_size=1024M

max_input_vars=5000