【问题标题】:CSV script upload failsCSV 脚本上传失败
【发布时间】:2015-08-03 20:48:59
【问题描述】:

我有一个带有 csv 自定义导入脚本的 Wordrpess。我要导入的文件有 24 MB 和 12000 个产品。在超过 10500 种产品时,脚本会停止。

在我达到这个数字或产品之前,它一直有效。

这是我的配置:

upload_max_filesize 500 M
post_max_size 500 M
max_execution_time 18000
max_input_time 18000
wait_timeout 60

我需要改变什么?

【问题讨论】:

标签: php wordpress csv upload


【解决方案1】:

如果您得到任何导入,这意味着上传限制不应受到指责。如果您点击这些,则不会进行任何导入。

最有可能的两个“候选”是:执行时间已达到或已达到内存限制。

对于前者,您已经将max_execution_time 设置为相当大的数字,我假设您的输入脚本不会花费那么长时间。 (如果我错了,请纠正我)

所以最明显的一个是您的脚本到达 memory_limit 然后就停止了,因此导入不完整。

如果增加memory_limit 没有帮助,您需要启用错误报告以了解发生了什么。

要在 WordPress 中执行此操作,只需在 wp-config.php 中添加以下行来启用 debug mode

define('WP_DEBUG', true);

可选的附注

话虽如此,通过不合理地增加允许的资源来导入大量数据可能不是正确的方法。

尝试实施增量导入。 IE。接收脚本只是解析提交的数据,然后使用 AJAX 进行一一导入。或者导入提交表单带索引参数(导入记录0到1000)等

让PHP占用大量资源是自找麻烦。恶意用户可以利用这一点轻松地关闭您的网站。

【讨论】:

  • 您对 max_execution_time 的看法是正确的,csv 最多在 2 小时内上传,因此低于限制(18000 秒)。 memory_limit 是 2048。你觉得还不够吗?我的服务器上有 16 G 的 SSD,仅用于一个 WP 网站,因为占用大量资源
  • 我认为这是我必须要做的,使用不同的技术,但我们现在没有时间改变它。感谢您的回复。
猜你喜欢
  • 2013-07-20
  • 1970-01-01
  • 2014-07-04
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多