Magento PHP 5.4 PDF发票Zend错误

Hid*_*dde 9 php zend-framework magento magento-1.7

当我尝试创建PDF发票时,Magento正在抛出PHP错误(因为我的客户端运行的是PHP 5.4.19).

致命错误:Zend_Pdf_FileParserDataSource_File :: __ construct()声明必须与第41行/var/www/vhosts/website/httpdocs/includes/src/Zend_Pdf_FileParserDataSource_File.php中的Zend_Pdf_FileParserDataSource :: __ construct()兼容

通常,通过编辑FileParserDataSource.php并注释掉两行很容易解决这个问题,问题是它们运行了一个扩展此脚本的Zend_Pdf_FileParserDataSource_File.php(http://pastebin.com/J64VNsRP).

有没有可用的解决方案,以便可以在运行PHP 5.4的服务器上使用Magento创建PDF发票?

Muf*_*dal 37

这是PHP版本5.4.4和zend Framwork之间的不兼容问题.

通过更改此函数lib/Zend/Pdf/FileParserDataSource.php来修复它.

更改

abstract public function __construct();
Run Code Online (Sandbox Code Playgroud)

abstract public function __construct($filePath);
Run Code Online (Sandbox Code Playgroud)


Raj*_*jan 6

这是核心问题http://framework.zend.com/issues/browse/ZF-12093.通过注释__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();`
Run Code Online (Sandbox Code Playgroud)