【问题标题】:Very long PHP operation: 500 Internal Server Error很长的 PHP 操作:500 内部服务器错误
【发布时间】:2016-07-05 04:48:45
【问题描述】:

我正在读取 10,000 个 csv 文件,每个文件有 1000 行并删除重复并创建新文件

为此

  1. 我逐行读取数据并将数据存储在一个数组中。
  2. 当我在数组中存储新数据时,我检查天气它是否不重复(天气数组已经有数据)
  3. 然后使用数组重新创建 csv

另外我在 php.ini 中更改了以下内容

max_execution_time = 30000 
max_input_time = 60000 
memory_limit = -1 
error_log = error_log

但我收到以下错误。没有错误日志。 php.ini 中是否还有其他配置需要更改。请帮我解决一下

内部服务器错误

服务器遇到内部错误或配置错误,并且 无法完成您的请求。

请联系服务器管理员 webmaster@xxxxxx.com 和 通知他们错误发生的时间,以及您可能会做的任何事情 这样做可能会导致错误。

有关此错误的更多信息可能在服务器错误中可用 记录。

此外,在尝试访问时遇到 404 Not Found 错误 使用 ErrorDocument 来处理请求。

【问题讨论】:

  • 您可能在 apache 中遇到了限制,最好通过命令行运行类似的东西。 stackoverflow.com/questions/9629566/…。另外我会在运行时而不是全局更改这些。
  • 您应该尝试generate some log output 看看发生了什么,也许还有一些基准测试。你检查过 Apache/webserver 日志吗?其他建议也是不错的选择:使用 CLI 和/或更小批量。我还想看看你用来检查欺骗的任何方法是否会花费太多时间,也许可以进行优化。另外,您使用的是原生 php 函数 (str_getcsv) 还是其他东西(可能有帮助,也可能没有帮助,具体取决于您的数据)?
  • 我将 Apache Timeout 更改为 30000,但脚本一直在响铃。没有输出
  • 我将文件减少到 1000 个它可以工作

标签: php


【解决方案1】:

除了检查 Apache Timeout 之外,您还应该尝试破坏此脚本一次并尝试分批运行可能 2000 个 csv 文件。 也可能是某个 CSV 文件中的某些数据导致了此错误,如果您将其拆分为 2000 个文件并运行,就会发现该错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 2018-01-15
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2016-03-10
    相关资源
    最近更新 更多