我正在制作Magento 1.5,当我尝试打印任何发票时,在后端,我有一个白色/空白页面。
我已经尝试逐步调试,问题是我无法将error_reporting置于(我正在生产模式下)
更新:
[Mon Jun 10 12:35:53 2013] [错误] [客户端196.203.53.248] PHP致命 错误:声明 Zend_Pdf_FileParserDataSource_File :: __ construct()必须兼容 使用Zend_Pdf_FileParserDataSource :: __ construct() /home/webmaster/public_html/www/lib/Zend/Pdf/FileParserDataSource/File.php 在第41行,引用者: http://www.example.com/index.php/admin/sales_invoice/view/invoice_id/15/
答案 0 :(得分:13)
编辑
lib/Zend/Pdf/FileParserDataSource.php
更改
abstract public function __construct();
到
abstract public function __construct($filePath);
答案 1 :(得分:10)
这是PHP版本5.4.4-14与Zend Framework之间的不兼容问题。通过在__construct()
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();
谢谢!
答案 2 :(得分:6)
Mischa Leiss和Rastaking的修正完全正确,以为我想在
添加编辑文件[magento root]/lib/Zend/Pdf/FileParserDataSource.php
不是最佳做法。最好将文件复制到
[magento root]/app/code/local/Zend/Pdf/FileParserDataSource.php
并在那里编辑文件。 Magento将使用该文件的重写版本,而不是默认版本,并且您将来不太可能遇到问题(例如当您尝试升级Magento核心时)。
此外,这可能应该是一个评论,但没有格式化很难阅读。
答案 3 :(得分:0)
更改
abstract public function __construct();
到
abstract public function __construct($filePath);
修正了问题