Guten Morgen,
folgendes Problem. Ich habe "pdfgenerator2" installiert, erhalte jedoch die folgende Fehlermeldung, wenn ich die entsprechende Seitem-ID aufrufe:
Fatal error: Cannot redeclare readmap() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:8-) in /www/htdocs/v117385/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php on line 32
Dementsprechend will die Extension die Funktion "readmap" erzeugen, allerdings läuft der Prozess schon Serverseitung (all-inkl.de) von Haus aus. Damit muss ich also leben. Könnt Ihr mir einen Tip geben, was ich im Modul ändern muss, um das Problem zu umgehen? Ich kenne mich mit php & Co dummerweise nicht allzu gut aus. Ich denke mal, dass ich der Extension irgendwie beibringen muss, die serverseitige Funktion zu nutzen.
Lieben Dank!
Hallo,
grundsätzlich kannst du das auch ohne große PHP-Kenntnisse leicht abfangen.
Theoretisch müsste es reichen, wenn du in der makefont.php mit der Funktion function_exists prüfst ob die Funktion bereits deklariert wurde.
In etwa so:
if (!function_exists('ReadMap')) {
function ReadMap($enc) {
...
}
}
Das verschiebt nur den Fehler:
Fatal error: Cannot redeclare ReadAFM() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:34) in /www/htdocs/[...]/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php on line 133
Hat Jemand inzwischen eine Lösung für dieses Problem gefunden, bis auf das Löschen der anderen makefont.php?
Hallo, ich war ebenfalls mit dem Problem konfrontiert und ich möchte - auch wenn dieser thread schon etwas älter ist - meine Lösung hier mitteilen.
gmfs Ansatz hat mich hierzu gebracht:
Datei: pdf_generator2/html2ps/output.fpdf.class.php
//require_once('fpdf/fpdf.php');
//require_once('fpdf/font/makefont/makefont.php');
if(!class_exists('FPDF')){
require_once(t3lib_extMgm::extPath('pdf_generator2') . 'html2ps/fpdf/fpdf.php');
require_once(t3lib_extMgm::extPath('pdf_generator2') . 'html2ps/fpdf/font/makefont/makefont.php');
}
ich denke, so sollten alle möglichen Konflikte, die durch eine vorab geladene FPDF Bibliothek entstehen, erschlagen sein.