Magento für PHP 5.4 PDF-Rechnung Zend Fehler
Magento wirft einen PHP Fehler, wenn ich versuche zum erstellen von PDF-Rechnungen (weil mein client ausgeführt, PHP 5.4.19).
Fatal error: Declaration of Zend_Pdf_FileParserDataSource_File::__construct() kompatibel sein muss mit Zend_Pdf_FileParserDataSource::__construct() in /var/www/vhosts/website/httpdocs/includes/src/Zend_Pdf_FileParserDataSource_File.php auf der Linie 41
Normalerweise ist es leicht zu beheben ist dies durch Bearbeiten der FileParserDataSource.php und auskommentieren der beiden Zeilen, das problem ist, dass Sie laufen ein Zend_Pdf_FileParserDataSource_File.php das erstreckt sich dieses Skript (http://pastebin.com/J64VNsRP).
Gibt es eine Lösung zur Verfügung, so dass möglich ist, zum erstellen von PDF-Rechnungen mit Magento auf einem server mit PHP 5.4?
InformationsquelleAutor Hidde | 2013-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese eine Inkompatibilität zwischen PHP-Version 5.4.4-und zend-Framwork .
Behoben durch ändern in dieser Funktion lib/Zend/Pdf/FileParserDataSource.php.
ändern
zu
dies sollte die akzeptierte Antwort, btw.
Ja, das funktioniert!
Danke, aber das muss zum Bearbeiten von core-Datei, die ich hasse zu tun. Ich werde sicherlich diesen Bericht zu Magento core-team. Vielen Dank für die info.
Hey Leute, wenn ich offen lib/Zend/Pdf/FileParserDataSource.php ich sehe nicht, abstract public function __construct(); ich habe nur abstract public function __destruct(); und kommentieren Sie es aus nicht ein Problem zu beheben. Ich habe auch versucht zu kompilieren sowie deaktivieren Sie die Zusammenstellung und das nicht fix it entweder. gibt es alternativen Methode, die könnte fix die Rechnung drucken Problem?
InformationsquelleAutor
Dies ist zend core Problem http://framework.zend.com/issues/browse/ZF-12093. fix it durch auskommentieren
__construct
und__destruct
Methoden inlib/Zend/Pdf/FileParserDataSource.php
die zweite Datei heißt?
Wenn ich die Kommentar-Funktion __construct(); function __destruct(); lib/Zend/Pdf/FileParseDataSource.php es gibt keine Veränderung, da die FileParseDataSource.php wird erweitert durch Zend_Pdf_FileParserDataSource_File.php. Wenn ich auch den Kommentar aus dem code in dieser Datei bekomme ich eine "enthält 2 abstrakten Methoden und muss deshalb als Abstrakt deklariert werden oder die Umsetzung der verbleibenden Methoden" - Fehler.
haben Sie versucht, nachdem er all diese Funktion?, denn ich habe die Feste gleiche Problem bei meinem Projekt.
Das habe ich versucht, ja. Es hilft nicht, wenn ich kommentiere die __construct und __destruct in Datei 1 der Fehler wird in Datei 2. Wenn ich kommentiere die __construct und __destruct in der Datei 2 der Fehler wird in Datei 1. Wenn ich kommentiere in beiden Dateien bekomme ich die Fehlermeldung bereits in meinem vorherigen Kommentar.
InformationsquelleAutor
Manchmal kann es lösen, indem Sie neu kompilieren, compiler oder compiler deaktivieren.
Gehen Sie zu System - > Tools > Erstellung der Seite und klicken Sie auf
Run Compilation Process
- Taste oderDisable
Taste.Überprüfen Sie nun, Rechnung drucken.
http://kb.magenting.com/content/24/81/en/disable-magento-compiler.html
Run Compilations Process
hat den job, nachdem ich die Ausführung des php-5.4-patch.InformationsquelleAutor
Müssen Sie ändern die lib/Zend/Pdf/FileParserDataSource.php und lib/Zend/Pdf/FileParserDataSource/File.php
Finden Sie die
in FileParserDataSource.php und ändern Sie es zu
Und auch in der File.php tun Sie das gleiche für
konvertieren
Dieser arbeitete für mich. Ich hoffe, es hilft.
InformationsquelleAutor