2013-06-10 7 views
6

Sto lavorando su Magento 1.5 e quando provo a stampare una qualsiasi delle mie fatture, sul backend, ho ottenuto una pagina bianca/vuota.Magento - pagina vuota/vuota quando si stampa la fattura sul backend

Ho cercato di eseguire il debug di questo passo dopo passo, il problema è che non riesco a mettere l'error_reporting su (io sono su una modalità di produzione)

Aggiornamento:

[Mon Jun 10 12:35:53 2013] [error] [client 196.203.53.248] PHP Fatal error: Declaration of Zend_Pdf_FileParserDataSource_File::__construct() must be compatible with Zend_Pdf_FileParserDataSource::__construct() in /home/webmaster/public_html/www/lib/Zend/Pdf/FileParserDataSource/File.php on line 41, referer: http://www.example.com/index.php/admin/sales_invoice/view/invoice_id/15/

+1

avete controllato il vostro log degli errori, sia Magento e php? – Mufaddal

+0

sì, l'ho fatto, niente di sospetto! –

risposta

10

Questo è un problema di incompatibilità tra la versione 5.4.4-14 di PHP e Zend Framwork.

fisso IT commentando __construct() e __destruct() metodi 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(); 

Grazie!

+0

Life saver, grazie! Un tale strano problema per avere – JasonDavis

+0

sei il benvenuto! –

+0

Ottimo, grazie. – Michael

13

Modifica

lib/Zend/Pdf/FileParserDataSource.php 

cambiamento

abstract public function __construct(); 

a

abstract public function __construct($filePath); 
+0

cambiare il metodo __construct è esattamente la soluzione corretta. prego! –

+0

Awasome ...... aiutami molto. Mi può piacere perché hai fatto questi cambiamenti? –

+0

Perché Zend_Pdf_FileParserDataSource_File :: __ construct() deve essere compatibile con Zend_Pdf_FileParserDataSource :: __ construct(). Per ottenere questo è necessario avere la stessa firma del metodo, per essere precisamente è necessario passare il param per costruire come visto sopra. –

6

Mischa Leiss e di correzioni di Rastaking sono completamente corrette, pensato vorrei aggiungere che la modifica del file al

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

non è la pratica migliore. Meglio copiare il file in

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

e modificare il file lì. Magento userà questa versione di override del file, invece del default, ed è meno probabile che si verifichino problemi in futuro (come quando provi ad aggiornare Magento core).

Inoltre, questo probabilmente avrebbe dovuto essere un commento, ma era difficile da leggere senza formattazione.

0

Change

abstract public function __construct(); 

a

abstract public function __construct($filePath); 

Risolto il problema