【问题标题】:Codeigniter $this->zip->download() not workingCodeigniter $this->zip->download() 不工作
【发布时间】:2014-02-26 15:47:30
【问题描述】:

我在服务器上有一个目录,里面有用户上传的 pdf 文件。

我正在尝试创建一种将整个目录下载为 zip 文件的方法。

我正在使用 CodeIgniter。当目录的重量约为 100MB 时,简单的代码运行良好。但是现在当目录的重量约为 600MB 时,它就不起作用了。 (加载大约 10 秒后,我得到一个白色的空白屏幕)。

请注意,我是 CodeIgniter 的新手...

public function download()
{
    $this->load->library('zip');
    $this->zip->read_dir('pdf/');
    $this->zip->download('Download.zip'); 


}

谢谢!

【问题讨论】:

  • 在您的 php.ini 中,您可能需要增加 max_execution_time 和/或 memory_limit
  • 谢谢,没想到。我马上试试。
  • 让我们知道您的进展情况,也不要忘记在更改任何设置后重新启动 apache

标签: php codeigniter download zip


【解决方案1】:

如果之前运行正常,您可能需要更改 php.ini 中的一些设置。尝试增加max_execution_time 和/或memory_limit

【讨论】:

  • @TzahiSerruya 你也增加了什么?还要检查您的日志文件是否有任何错误
  • 我突然意识到 phpinfo() 我在 php.ini 中所做的更改不起作用。可能是什么问题呢?我更改了 /etc/php5/apache/php.ini 文件,保存并重新启动了 apache。为什么在 phpinfo() 中我只看到 128MB 内存限制??
  • 确保您编辑了正确的 php.ini。 phpinfo()中“Loaded Configuration File”和“Configuration File”旁边显示什么?
  • 哈哈!你是对的。这不是正确的文件。让我哑口无言。现在它正在工作。谢谢!
  • 顺便说一句,为了压缩一个 500MB 的目录,我需要将服务器的 Memory_limit 设置为 1540MB(!)。用 1GB 就不行了。效率不高...
【解决方案2】:

您可以尝试将 zip 文件的创建和下载过程分开。它可以最小化内存和时间限制要求。

首先创建 zip 文件,然后重定向到该文件以下载它。

让我们知道你最后是如何做到的。

【讨论】:

  • 想到了,只是喜欢这段代码的简单性,并试图保持这种方式。如果我找不到任何方法让它工作,我会尝试你的建议。谢谢。
【解决方案3】:

这可能是您的服务器处理能力的原因。尝试在服务器配置中增加 PHP.INI 文件中的 max_execution_time 和/或 memory_limit。

在 linux/centos -> /etc/php.ini

在 ubuntu 中 -> /etc/apache2/../php.ini

注意:别忘了重启你的 apache/httpd 服务器

Linux/centos -> sudo 服务 httpd 重启

Ubunut -> sudo service apache2 restart

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多