【问题标题】:CSV Import Script stops after a several minutesCSV 导入脚本在几分钟后停止
【发布时间】:2016-02-08 17:43:59
【问题描述】:

我正在编写一个 woocommerce CSV 导入脚本。 CSV 文件有 1000 行。在我的本地主机中,所有 1000 行都在大约 40 分钟内创建产品。但是,当我在 Hostgator 实时服务器中上传该脚本时,它会创建大约 200 - 300 行并停止创建没有错误的产品。我设置了set_time_limit(0);,但没有运气。

它在 localhost 中运行良好,但在实时服务器中却不行。所以我认为问题与服务器配置有关。谁能帮我找出这个问题?

【问题讨论】:

  • 假设您使用的是 PHP - 您确定 set_timeout 真的有效吗?内存限制呢?你看过错误日志吗?
  • 我在 php.ini 中使用 memory_limit = -1 , max_execution_time = 0
  • 你需要2投入更多的时间你的问题,如果你真的在一个好的答案之后。我认为你需要完整地展示你的环境
  • 导入实际上是如何工作的? CLI 还是服务器? CSV 是否已上传? - 然后检查您的 post-max-size 和上传限制。如果它使用 CLI 执行,请检查是否有用于 CLI 加载的专用 php.ini。再次 - 检查您的错误日志。

标签: woocommerce timeout csv-import


【解决方案1】:

首先

max_input_time 和 set_time_limit(0)

仅适用于 VPS 或专用服务器。取而代之的是,您可以遵循以下一些规则来实现您的实现

  1. 首先读取整个 CSV 文件。
  2. 然后只抓取 10 个或更少的条目(行)并进行 ajax 调用以导入 DB
  3. 尝试每次使用 10 个条目调用 ajax,然后在浏览器上回显某些内容。在这种方法中,您的脚本将永远不会超时。
  4. 按照相同的方法,直到完成 CSV 行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多