【问题标题】:DomPDF > Allowed memory exhausted [duplicate]DomPDF > 允许的内存已用尽 [重复]
【发布时间】:2012-09-19 23:56:16
【问题描述】:

可能重复:
Allowed memory size of X bytes exhausted

我遇到了一个非常棘手的问题。

  1. 根据 phpInfo,此脚本设置的内存限制为 256M。但是,domPDF 只得到 64M

  2. 当我从前端运行 PDF 创建操作时,它就像一个魅力。当一个 cron 调用一个 sfTask 来执行它时,我得到这个:

[28-Sep-2012 10:41:03] PHP 致命错误:允许的内存大小为 67108864 字节用尽(试图分配 76 字节) /home3/myspace/public_html/prasad/myapp/lib/vendor/dompdf/include/frame_decorator.cls.php 第 30 行

为了记录,它打印一个简单的页面,其 PDF 大小为

有人可以帮忙吗?

【问题讨论】:

  • 我正在使用 DOMPDF 0.6.0 beta 3
  • 我猜 PHP-CLI 的设置与 PHP-CGI/mod_php 不同。您可以尝试使用命令php -i | grep memory_limit 进行查找(将其放入 shell 脚本中,如果您没有 shell 访问权限,则让脚本由 cron 运行)。
  • 好的,我会试试的。我得到的另一个错误是:致命错误:在线/home3/myspace/public_html/prasad/myapp/lib/vendor/dompdf/include/style.cls.php 中允许的内存大小为 67108864 字节已用尽(试图分配 83 字节) 720 /bin/sh: line 1: 6511 分段错误 /ramdisk/bin/php5 /home3/myspace/public_html/prasad/myapp/symfony job:cron --job-type="job" 什么是 /bin/ sh: line 1: 6511 Segmentation fault 是什么意思?
  • 输出为64M。这还不够吗?我怎样才能提高这个限制?
  • 不,64M 是不够的,因此会出现“允许的内存”错误。您必须找到 CLI 的 php.ini 并在那里进行更改。另一种方法是通过命令行更改设置 - 例如php -d memory_limit=256M /path/to/your/php-file。当程序尝试访问无效内存时会出现segmentation fault。这可能是 PHP 解释器本身的问题。即使使用 shell 访问,也很难找到原因。

标签: php symfony-1.4 dompdf php-5.2


【解决方案1】:

因为 Prasad 解决了他的问题,所以从 vstms 评论中创建一个 awnser:

不,64M 是不够的,因此会出现“允许的内存”错误。你有 找到 CLI 的 php.ini 并在那里进行更改。替代方案是 通过命令行更改设置 - 比如 php -d memory_limit=256M /path/to/your/php 文件。当程序发生分段错误时 试图访问无效的内存。这可能是一个问题 PHP解释器本身。很难找到原因,即使有 外壳访问。

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 2011-04-23
    • 2011-07-30
    • 1970-01-01
    • 2014-09-05
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多