A PHP kiterjesztések számos módon telepíthetőek. A PECL PHP kiterjesztések gyűjteménye, amelyek a PEAR struktúrában találhatóak meg. A következő részek bemutatják ezen kiterjesztések telepítésének módját.
Ezek az utasítások /your/phpsrcdir/-rel jelölik azt a könyvtárat, ahol a PHP forráskód található, extname-el pedig a PECL kiterjesztés nevét. Ezek az utasítások feltételezik a pear parancs ismeretét.
A megosztott kiterjesztések a php.ini-ben az extension direktíva használatával telepíthetők. Lásd még az extensions_dir direktívát és a dl() függvényt. A továbbiakban leírt telepítési módok nem konfigurálják automatikusan a PHP-t, hogy betöltse ezeket a kiterjesztéseket, ezt kézzel kell megtenni.
PHP modulok fordításánál fontos a szükséges eszközök (autoconf, automake, libtool, stb.) megfelelő verziójainak használata. Olvasd el az Anonymous CVS útmutatót, hogy többet megtudj a szükséges eszközökről és verziókról.
Számos módja van a PECL kiterjesztések letöltésének, mint például:
Itt olyan információkat is találsz, mint például a változás napló, kiadási információk, követelmények, javítások, stb. Bár nem minden PECL kiterjesztés rendelkezik honlappal, a legtöbb igen.
pear download extname
A forráskódok letöltésre a pear parancsot is használhatod. Megadhatod azt is melyik verziót akarod letölteni.
CVS
Minden PECL állomány megtalálható a CVS-ben. A http://cvs.php.net/pecl/ címen találod ennek a webes felületét. Ha egyenesen a CVS-ből szeretnél letölteni, hajtsd végre a következő parancsokat (a cvsread felhasználó jelszava phpfi):
$ cvs -d:pserver:cvsread@cvs.php.net:/repository login $ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname |
Letöltés Windows-al
A Windows felhasználók letölthetik a lefordított PECL binárisokat a PHP letöltés oldalon a Collection of PECL modules címszó alatt vagy egy PECL Snapshot-ot (pillanatfelvételt). Ha szeretnéd a PHP-t Windows alatt fordítani, olvasd el a Win32 Build README-t.
Mint bármilyen más PHP kiterjesztés DLL-t, a telepítéshez tedd a PECL kiterjesztés DLL-eket az extension_dir könyvtárba és hivatkozz rá a php.ini-ben. Például:
extension=php_extname.dll |
Ezután indítsd újra a webszervert.
A PEAR-rel könnyen készíthetsz megosztott PHP kiterjesztéseket a pear parancs használatával. Hajtsd végre a következőt:
$ pear install extname |
Ez letölti az extname kiterjesztés forrását, majd lefordítja. Ennek eredménye egy extname.so állomány, amelyet aztán beírhatsz a php.ini-be.
Amennyiben a rendszer preferred_state (előnyben részesített állapot) változója magasabbra van állítva, mint amilyen az extname-ből rendelkezésre áll, például ha stabilra van állítva de a kiterjesztés még csak béta állapotban van, vagy módosítsd a preferred_state-et a pear config-set paranccsal, vagy pedig add meg a PECL kiterjesztés egy bizonyos verziószámát, valahogy így:
$ pear install extname-0.1.1 |
A pear minden esetben a extension-dir-be fogja másolni az extname.so-t. A php.ini-t ennek megfelelően állítsd be.
Ha a pear használata nem lehetséges, mint például megosztott PECL kiterjesztések CVS-ből történő fordítása, egy megosztott kiterjesztés létrehozása kézzel is elvégezhető a phpize paranccsal. A pear parancs alapvetően megteszi ezt, de kézzel is elvégezhető. Feltéve, hogy a forrásfájl neve extname.tgz, amely az aktuális könyvtárba lett letöltve, tekintsd a következőt:
$ pear download extname $ gzip -d < extname.tgz | tar -xvf - $ cd extname $ phpize $ ./configure && make |
Ha minden rendben zajlik, akkor ez létrehoz egy extname.so állományt, és az extname/-en belül található modules/ és/vagy .libs/ könyvtárba teszi. Helyezd ezt a megosztott kiterjesztést (extname.so) a PHP kiterjesztés könyvtárába, és állítsd be a php.ini-t megfelelően.
Ha szeretnéd a kiterjesztést a PHP-be statikusan belefordítani, tedd a kiterjesztés forrását a PHP forrásában található ext/ könyvtárba. Például:
$ cd /your/phpsrcdir/ext $ pear download extname $ gzip -d < extname.tgz | tar -xvf - $ mv extname-x.x.x extname $ rm package.xml |
Ez az alábbi könyvtárat eredményezi:
/your/phpsrcdir/ext/extname |
Most fordítsd a PHP a szokásos módon:
$ cd /your/phpsrcdir $ ./buildconf $ ./configure --help $ ./configure --with-extname --enable-someotherext --with-foobar $ make $ make install |
Az, hogy az --enable-extname vagy a --with-extname alakot kell használni, függ a kiterjesztéstől. Tipikusan olyan kiterjesztések esetén, amelyek nem igényelnek külső könyvtárakat, az --enable-t kell használni. Hogy megbizonyosodhass róla, a buldconf után futtasd ezt:
$ ./configure --help | grep extname |