Forum und email

Kiterjesztések telepítése Windows-on

A webszerver és a PHP telepítése után valószínűleg néhány kiterjesztést is telepíteni akarsz a szolgáltatáskészlet bővítése érdekében. Azokat a kiterjesztéseket, amelyeket a PHP indulásakor szeretnél indítani, a php.ini-ben kell megadnod. A szkriptjeidben is betöltheted dinamikusan őket a dl() függvény segítségével.

A PHP kiterjesztések DLL-jei a php_ előtaggal vannak ellátva.

A PHP Windows-os verziójába sok kiterjesztés be van építve. Ez annyit jelent, hogy ezen kiterjesztések betöltéséhez nem szükségesek további DLL-ek és az extension direktíva használata. A Windows-os PHP kiterjesztések táblázat olyan kiterjesztéseket tartalmaz, amelyek működéséhez szükségesek, vagy általában szükségesek további PHP DLL állományok. Itt pedig egy lista a beépített kiterjesztésekről:

PHP 4-ben (PHP 4.3.11): BCMath, Caledar, COM, Ctype, FTP, MySQL, ODBC, Overload, PCRE, Session, Tokenizer, WDDX, XML és Zlib

PHP 5-ben (PHP 5.0.4) a következő kiterjesztésekkel bővül a lista: DOM, LibXML, Iconv, SimpleXML, SPL és SQLite. Az alábbiak viszont már nincsenek beépítve: MySQL and Overload.

Az alapértelmezett hely, ahol a PHP keresi a kiterjesztéseket, PHP 4 esetén a c:\php4\extensions, PHP 5 esetén pedig c:\php5. Hogy megváltoztasd ezt a beállítást, hogy megfeleljen a PHP konfigurációdnak, szerkeszd a php.ini fájlt:

  • Meg kell változtatnod az extension_dir beállítást úgy, hpgy arra a könyvtárra mutasson, ahol a kiterjesztések vannak vagy ahová a php_*.dll fájlokat raktad. Ne feledkezz meg az utolsó visszaperjelről sem. Példa:

    extension_dir = c:/php/extensions/
    

  • Aktiváld az kívánt kiterjesztéseket úgy, hogy a php.ini-ben kitörlöd a megfelelő extension=php_*.dll sor elől a pontosvesszőt (;)

    Example#1 A Bzip2 PHP kiterjesztés aktiválása Windows-on

    // ezt a sort cseréld ki ...
    ;extension=php_bz2.dll
    
    // ... erre
    extension=php_bz2.dll
    

  • Egyes kiterjesztések a működésükhöz további DLL-eket igényelhetnek. Közülük pár megtalálható a disztribúciós csomagban PHP 4 esetén a C:\php\dlls\ könyvtárban, PHP 5 esetén pedig a főkönyvtárban, mások pedig olyan DLL-eket igényelnek, amelyek nincsenek a csomagban, például az Oracle (php_oci8.dll). Ha PHP 4-et telepítesz, másold át a csomagban lévő DLL-eket a C:\php\dlls könyvtárból a főkönyvtárba (C:\php). Ne felejtsd el a C:\php könyvtárat a PATH-ba tenni. (ez a folyamat egy külön FAQ bejegyzésben van leírva).

  • Ezen DLL közül egyesek nincsenek benne a PHP disztribúcióban. Részletekért lásd a megfelelő kiterjesztés dokumentációját. A PECL-el kapcsolatban olvasd még el a kézikönyv PECL kiterjesztések telepítése című részét. A PECL-ben egyre több PHP kiterjesztés található, ezeket a kiterjesztéseket külön kell letölteni.

Note: Ha a PHP-nek a szervermodul verzióját futtatod, ne felejtsd el újraindítani a webszervert, hogy a php.ini-n végzett változások érvénybe lépjenek.

A következő táblázat leír néhány rendelkezésreálló kiterjesztést, és az esetlegesen igényelt DLL-eket.

PHP kiterjesztések
Kiterjesztés Leírás Megjegyzések
php_bz2.dll bzip2 tömörítési függvények Nincs
php_calendar.dll Naptár függvények Beépítve a PHP 4.0.3-tól
php_cpdf.dll ClibPDF függvények Nincs
php_crack.dll Crack függvények Nincs
php_ctype.dll ctype függvények Beépítve a PHP 4.3.0-tól
php_curl.dll CURL, kliens URL könyvtári függvények Szükséges: libeay32.dll, ssleay32.dll (a csomagban)
php_cybercash.dll Cybercash fizetéssel kapcsolatos függvények PHP <= 4.2.0
php_db.dll DBM függvények Ellenjavallt. Használd a DBA függvényeket helyettük (php_dba.dll).
php_dba.dll DBA: DataBase (dbm-stílusú) absztrakciós réteg függvények Nincs
php_dbase.dll dBase függvények Nincs
php_dbx.dll dbx függvények  
php_domxml.dll DOM XML függvények PHP <= 4.2.0 esetén szükséges: libxml2.dll (a csomagban) PHP >= 4.3.0 esetén szükséges: iconv.dll (a csomagban)
php_dotnet.dll .NET függvények PHP <= 4.1.1
php_exif.dll EXIF függvények php_mbstring.dll. A php_exif.dll a php_mbstring.dll után kell betölteni a php.ini-ben.
php_fbsql.dll FrontBase függvények PHP <= 4.2.0
php_fdf.dll FDF: Forms Data Format függvények. Szükséges: fdftk.dll (a csomagban)
php_filepro.dll filePro függvények Csak olvasási hozzáférés
php_ftp.dll FTP függvények Beépítve a PHP 4.0.3-tól
php_gd.dll GD könyvtári kép-függvények A PHP 4.3.2-től eltávolítva. A truecolor függvények nem érhetők el a GD1-ben, helyettük használd a php_gd2.dll-t.
php_gd2.dll GD könyvtári kép-függvények GD2
php_gettext.dll Gettext függvények PHP <= 4.2.0 esetén szükséges: gnu_gettext.dll (a csomagban), PHP >= 4.2.3 esetén szükséges: libintl-1.dll, iconv.dll (a csomagban).
php_hyperwave.dll HyperWave függvények Nincs
php_iconv.dll ICONV karakterkészlet-konverzió Szükséges: iconv-1.3.dll (a csomagban), PHP >=4.2.1 iconv.dll
php_ifx.dll Informix függvények Szükséges: Informix könyvtárak
php_iisfunc.dll IIS menedzsment függvények Nincs
php_imap.dll IMAP POP3 és NNTP függvények Nincs
php_ingres.dll Ingres II függvények Szükséges: Ingres II könyvtárak
php_interbase.dll InterBase függvények Szükséges: gds32.dll (a csomagban)
php_java.dll Java függvények PHP <= 4.0.6 esetén szükséges: jvm.dll (a csomagban)
php_ldap.dll LDAP függvények PHP <= 4.2.0 esetén szükséges: libsasl.dll (a csomagban), PHP >= 4.3.0 esetén szükséges: libeay32.dll, ssleay32.dll (a csomagban)
php_mbstring.dll Multi-Byte String függvények Nincs
php_mcrypt.dll Mcrypt tömörítő függvények Szükséges: libmcrypt.dll
php_mhash.dll Mhash függvények PHP >= 4.3.0 esetén szükséges: libmhash.dll (a csomagban)
php_mime_magic.dll Mimetype függvények Szükséges: magic.mime (a csomagban)
php_ming.dll Ming függvények Flash-hez Nincs
php_msql.dll mSQL függvények Szükséges: msql.dll (a csomagban)
php_mssql.dll MSSQL függvények Szükséges: ntwdblib.dll (a csomagban)
php_mysql.dll MySQL függvények PHP >= 5.0.0, szükséges: libmysql.dll (libmysqli.dll, PHP <= 5.0.2) (a csomagban)
php_mysqli.dll MySQLi függvények PHP >= 5.0.0, szükséges: libmysqli.dll (a csomagban)
php_oci8.dll Oracle 8 függvények Szükséges: Oracle 8.1+ client libraries
php_openssl.dll OpenSSL függvények Szükséges: libeay32.dll (a csomagban)
php_oracle.dll Oracle függvények Szükséges: Oracle 7 kliens könyvtárak
php_overload.dll Objektum túlterhelési függvények Beépítve a PHP 4.3.0-tól
php_pdf.dll PDF függvények Nincs
php_pgsql.dll PostgreSQL függvények Nincs
php_printer.dll Printer függvények Nincs
php_shmop.dll Osztott memória függvények Nincs
php_snmp.dll SNMP get and walk függvények Csak NT esetén!
php_soap.dll SOAP függvények PHP >= 5.0.0
php_sockets.dll Socket függvények Nincs
php_sybase_ct.dll Sybase függvények Szükséges: Sybase kliens könyvtárak
php_tidy.dll Tidy függvények PHP >= 5.0.0
php_tokenizer.dll Tokenizer függvények Beépítve a PHP 4.3.0-tól
php_w32api.dll W32api függvények Nincs
php_xmlrpc.dll XML-RPC függvények PHP >= 4.2.1 esetén szükséges: iconv.dll (a csomagban)
php_xslt.dll XSLT függvények PHP <= 4.2.0 esetén szükséges: sablot.dll, expat.dll (a csomagban). PHP >= 4.2.1 esetén szükséges: sablot.dll, expat.dll, iconv.dll (a csomagban).
php_yaz.dll YAZ függvények Szükséges: yaz.dll (a csomagban)
php_zip.dll Zip fájl függvények Csak olvasási hozzáférés
php_zlib.dll ZLib tömörítő függvények Beépítve a PHP 4.3.0-tól