Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

Dynamic Extensions

Wie auch der Apache ist PHP modular aufgebaut.

Bei PHP 4 sind sehr viele Module bereits einkompiliert. Wenn Sie keine exotischen Wünsche haben, können Sie diesen Abschnitt überspringen.

Trotz der erstaunlichen Größe der dlls sind bei PHP 5 üblicherweise weniger extensions einkompiliert. Hier kann es also gut vorkommen, dass Sie Funktionalitäten vermissen. In diesem Abschnitt lernen Sie, Module dynamisch zu laden.

Das dynamische Laden funktioniert entweder über die php.ini oder zur Laufzeit über die Funktion dl(). Natürlich ist die php.ini-Variante performanter!

Die beiden dazu benötigten Einstellungen befinden sich im Abschnitt Paths and Directories, das Sie bereits gelesen haben. Dort habe ich auf diese Seite verwiesen. Hier noch einmal die beiden Einstellungen:

extension_dir

; Directory in which the loadable extensions (modules) reside.
extension_dir = /

Geben Sie hier das Verzeichnis an, in dem die Erweiterungsmodule liegen.

enable_dl

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
enable_dl = On

Wenn aktiviert, können Sie auch zur Ausführungszeit eines Skriptes noch Erweiterungen laden! Diese Erweiterung ist dann nur für das aufrufende Skript erreichbar.

Angabe von Erweiterungen

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here.  Specify the location of the extension with the
; extension_dir directive above.

;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.

Für des Englischen nicht mächtige: dies ist eine kurze Erklärung für die Syntax der Anweisung extension, mit der Sie Module laden können. Geben Sie nur den reines Dateinamen ohne Pfadangabe an (der Pfad muss bei extension_dir angegeben sein). Unter Windows sind mySQL- und ODBC-Funktionen bereits einkompiliert, so dass Sie sie nicht noch extra einbinden müssen. Auch andere Funktionspakete, die auf der von phpinfo() angezeigten Seite erscheinen (z.B. calendar), sind bereits einkomiliert.

Im Folgenden die mitgelieferten Module, die Sie auf Wunsch einbinden können:

;extension=php_bz2.dll
;extension=php_ctype.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_cybercash.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_dotnet.dll
;extension=php_exif.dll
;extension=php_fbsql.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_ingres.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tokenizer.dll
;extension=php_w32api.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
;extension=php_zlib.dll

Hier sehen Sie eine Liste der Erweiterungsmodule, die Ihnen zur Verfügung stehen. Möchten Sie beispielsweise die Oracle-Funktionen von PHP nutzen, so entfernen Sie einfach das Semikolon vor ;extension=php_oracle.dll.

Mit der bereits anfangs vorgestellten Funktion phpinfo() können Sie dann testen, ob das Modul tatsächlich geladen ist. Auf der von phpinfo() angezeigten Seite finden Sie Informationen zu allen geladenen Modulen.

Diese Liste stammt aus einer PHP4-Datei. Bei PHP 5 können kleinere Änderungen auftreten; beispielsweise gibt es php_zlib.dll nicht mehr, dafür gibt es php_zip.dll.

Module Settings weiter

URL: www.intermitto.net/php/konfig/extensions/
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass