PHP kézikönyv
Előző |  | Következő

# 7. Fejezet. PECL kiterjesztések telepítése

#### Bevezetés a PECL telepítésébe

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.

#### PECL kiterjesztések letöltése

Számos módja van a PECL kiterjesztések letöltésének, mint például:

- http://pecl.php.net

  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.

#### PECL Windows felhasználók részére

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.

#### Megosztott PECL kiterjesztések fordítása PEAR-rel

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.

#### Megosztott PECL kiterjesztések fordítása phpize-vel

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.

#### PECL kiterjesztések fordítása PHP-be statikusan

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

Előző | Tartalom | Következő
Kiterjesztések telepítése Windows-on | Fel | Problémák?