6

我正在使用 Magento 1.5,当我尝试在后端打印任何发票时,我得到一个白色/空白页面。

我试着一步一步调试这个,问题是我不能把error_reporting放在上面(我在生产模式下)

更新:

[2013 年 6 月 10 日星期一 12:35:53] [错误] [客户端 196.203.53.248] PHP 致命错误: Zend_Pdf_FileParserDataSource_File::__construct() 的声明必须与 /home/webmaster/public_html/ 中的 Zend_Pdf_FileParserDataSource::__construct() 兼容www/lib/Zend/Pdf/FileParserDataSource/File.php 在第 41 行,引用者: http ://www.example.com/index.php/admin/sales_invoice/view/invoice_id/15/

4

4 回答 4

13

编辑

lib/Zend/Pdf/FileParserDataSource.php

改变

abstract public function __construct();

abstract public function __construct($filePath);
于 2013-06-10T13:12:58.970 回答
10

这是 PHP 版本 5.4.4-14 和 Zend Framwork 之间的不兼容问题。

通过注释掉__construct()__destruct()方法来修复它lib/Zend/Pdf/FileParserDataSource.php

//    abstract public function __construct();

    /**
     * Object destructor. Closes the data source.
     *
     * May also perform cleanup tasks such as deleting temporary files.
     */
//    abstract public function __destruct(); 

谢谢 !

于 2013-06-10T13:12:40.450 回答
6

Mischa Leiss 和 Rastaking 的修复是完全正确的,我想我想在编辑文件时添加

[magento root]/lib/Zend/Pdf/FileParserDataSource.php 

不是最佳做法。最好将文件复制到

[magento root]/app/code/local/Zend/Pdf/FileParserDataSource.php

并在那里编辑文件。Magento 将使用该文件的覆盖版本,而不是默认版本,并且您将来遇到问题的可能性较小(例如当您尝试升级 Magento 核心时)。

此外,这可能应该是一个评论,但如果没有格式化就很难阅读。

于 2014-01-14T16:58:13.733 回答
0

改变

abstract public function __construct();

abstract public function __construct($filePath);

修复了问题

于 2015-09-07T08:40:11.810 回答