php.ini

checking for PDF_open_pdi in -lpdf... no
Über "pear install pdflib" wird dem configure nicht der Pfad ("../bind/c") zu deiner "libpdf.so" übergeben. Wen du die "libpdf.so" nach "/usr/local/lib" kopierst könnte pear sie finden (weis jetzt aber nicht, wo pear jetzt überall nachschaut. Die "pdflib.h" muss dann in "/usr/local/include" sein.

BTW: PEAR benutzt letztendlich auch phpize usw. Weswegen dieser Weg ja immer gehen sollte. Und man kann so seine Parameter besser angeben.
 
Habe ich gemacht... copy libpdf.so von source nach /usr/local/lib und pdflib.h nach /usr/local/include und habe noch dieselbe Fehlermeldung. Warte mal die Antwort vom Support für PDFLib ab... melde mich... danke jetzt schon für Deine Hilfe!
 
copy libpdf.so von source nach /usr/local/lib und pdflib.h nach /usr/local/include und habe noch dieselbe Fehlermeldung.
Dann wird PEAR die LIB in einem anderen Verzeichnis suchen. Um zu sehen wo nachgeschaut wird kannst du folgendes machen:
Code:
php-config --ldflags
php-config --includes
Oder mach es halt von Hand. Also erst phpize und im configure gibst du dann den Pfad zu der Lib/Header mit an.
 
So... ich entscheide mich nun für den Weg des normalen DSO-einbindens:
Ich habe nun folgendes gemacht:
Nach libpdf.so und nach libpdf_php.so gesucht und die "überflüssigen" kopien gelöscht:
linux1# find / -name libpdf_php.so
/usr/local/lib/libpdf_php.so
/root/pdflib/pdflib/bind/c/lib/libpdf_php.so
/root/pdflib/pdflib/bind/php4/php-430/libpdf_php.so
/root/pdflib/pdflib/bind/php4/php-440/libpdf_php.so
/root/pdflib/pdflib/bind/php5/php-503/libpdf_php.so
linux1# rm /usr/local/lib/libpdf_php.so
linux1# rm /root/pdflib/pdflib/bind/c/lib/libpdf_php.so

Nun kopiere ich die Datei /root/pdflib/pdflib/bind/php5/php-503/libpdf_php.so nach /usr/local/lib (in der php.ini steht: extension_dir=/usr/local/lib
und weiter unten
extension=libpdf_php.so

Dann:
cp /root/pdflib/pdflib/bind/php5/php-503/libpdf_php.so /usr/local/lib/libpdf_php.so

Jetzt bin ich daran, PHP neu zu kompilieren ohne jede PDFLib-Anweisung darin.

Eine Frage: heisst es nun in der php.ini:
extension_dir=/usr/local/lib
oder
extension_dir=/usr/local

:confused:
 
hmm, jetzt habe ich etwas gesehen:
PHP:
extension_dir /usr/lib/php/extensions/no-debug-non-zts-20041030
Wo hast du denn das gesehen? Sieht jedenfalls nach dem Standardpfad für die PHP-Extensions aus.

Aber mal was anderes:
Die "libpdf_php.so". Ist das evtl. schon die fertige PHP-Extension? Dann hätte man sich ja den ganzen Akt mit kompilieren sparen können. In dem Fall musst du diese Datei nur in das extension_dir kopieren und in der "php.ini" aktivieren.

Da wäre es natürlich wichtig, dass du das in das richtige extension_dir kopierst, und die richtige "php.ini" bearbeitest. Kannst in phpinfo() nachschauen. Oder in der Konsole "php -i | less"
 
heya...

das steht so in der phpinfo... ich habe Deinen Befehl noch ausgeführt:
Configuration File (php.ini) Path => /usr/local/lib/php.ini
aber diese Date bearbeite ich ja die ganze Zeit und es funktioniert trotzdem nicht... ist es möglich, dass ein falscher configure-Command verhindert, dass eine andere extension_dir angegeben wird?
Die libpdf_php.so ist eine fertige PHP-Extension, ja... allerdings sollte es auch mit selbstkompilierten dingen funktionieren... tja.
Egal... ich include die ja... aber das extension_dir stimmt nicht, also kann er diese Datei auch nicht finden... :confused:
 
Noch was anderes. Du hast aber nur ein PHP auf dem Rechner?
Weil einmal:
extension_dir=/usr/lib/php/extensions/no-debug-non-zts-20041030

und dann:
Configuration File (php.ini) Path => /usr/local/lib/php.ini

Sollte ja das selbe sein (der PREFIX der beim Kompilieren angegeben wurde).

Beim extension_dir steht zweimal der lange Pfad da oder zwei verschiedene Pfade?

allerdings sollte es auch mit selbstkompilierten dingen funktionieren
Ich denke nicht. Bei PHP5 kann ja nur nachträglich eine shared extension gebaut werden. Diese PECL-Extension sucht aber nach der shared lib "libphp.so". Diese hast du nicht. Du hast nur eine statische "libphp.a" zum einkompilieren (bei PHP4). Da du es Anfang an mit dem Kompilieren hattest, bin ich irgendwie auf die falsche Fährte geraten und dachte die "libphp_php.so" sei die shared lib von PDFLib. Aber wie du es jetzt schon sagtest. Das ist ja die fertige (shared) PHP-Extension.
 
Zurück
Oben