Weboldal keresés

A PHP 7 telepítése Apache és MariaDB segítségével CentOS 7/Debian 8 rendszeren


Múlt héten (pontosabban 2015. augusztus 21-én) a PHP fejlesztőcsapata bejelentette a PHP 7 legújabb kiadásának elérhetőségét, és világszerte arra ösztönözte a felhasználókat és a fejlesztőket, hogy teszteljenek. azt.

Mindazonáltal meg kell jegyeznünk, hogy mivel ez egy RC (Release Candidate) verzió, várhatóan hibákat tartalmazhat, vagy nem kompatibilis a meglévő beállításokkal, ezért a felhasználókat arra kérik, hogy jelentse őket a hibakövető rendszer segítségével, és ne használja a PHP 7-et az éles környezetben, amíg az ebben a fázisban marad.

A jó oldala az, hogy ez a verzió számos javítást tartalmaz (lehet, hogy a projekt GitHub tárának ezen oldalára hivatkozva megtalálja az új funkciók és fejlesztések részletes listáját), amelyek közül a legmeghatározóbb egy jelentős teljesítménynövekedés a korábbi verziókhoz képest.

Ez a cikk végigvezeti Önt a PHP 7 RC1 telepítésének és fordításának folyamatán a forrás tarballból, valamint az Apache és MariaDB CentOS 7 rendszeren. és Debian 8 Jessie. Ugyanezek az utasítások a CentOS alapú disztribúciókon is működnek, mint például az RHEL, Fedora, Scientific Linux és Debian< alapú, például Ubuntu/Mint.

A PHP 7 telepítése CentOS 7 és Debian 8 rendszerben

Ahogy a bevezetőben is szerepel, mivel ez a verzió egy RC, nem pedig egy stabil kiadás, ésszerűen nem várhatjuk el, hogy megtaláljuk a tárolókban. Emiatt le kell töltenünk a forráskódot, és a nulláról kell lefordítanunk a programot.

Mielőtt azonban ezt megtennénk, emlékeznünk kell arra, hogy a PHP 7 előnyeinek jobb kihasználása érdekében, és talán a legjobb módja annak kipróbálásának, ha telepítjük az Apache programmal együtt. és MariaDB – amelyeket megtalálhatunk a tárolókban:

CentOS 7-en


yum update && yum install httpd mariadb mariadb-server

Debian 8-on


aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb.common

Mindkét esetben a PHP forráskóddal rendelkező tarball letölthető és kibontható az alábbiak szerint:


wget https://downloads.php.net/~ab/php-7.0.0RC1.tar.gz
tar xzf php-7.0.0RC1.tar.gz -C /opt

Ha készen vagyunk, lépjünk át a /opt/php-7.0.0RC1 fájlba, és futtassuk a buildconf szkriptet a –force kapcsolóval a RC verzió felépítése:


ls


cd /opt/php-7.0.0RC1.tar.gz
./buildconf --force

Most itt az ideje végrehajtani a jól ismert configure parancsunkat. Míg az alábbi opciók biztosítják a szabványos PHP 7 telepítést, a PHP kézikönyv teljes opciólistáját tekintheti meg, hogy jobban testreszabhassa a telepítést az Ön igényei szerint:


./configure \
--prefix=$HOME/php7/usr \
--with-config-file-path=$HOME/php7/usr/etc \
--enable-mbstring \
--enable-zip \
--enable-bcmath \
--enable-pcntl \
--enable-ftp \
--enable-exif \
--enable-calendar \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-curl \
--with-mcrypt \
--with-iconv \
--with-gmp \
--with-pspell \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-openssl \
--with-pdo-mysql=/usr \
--with-gettext=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-recode=/usr \
--with-mysqli=/usr/bin/mysql_config \
--with-apxs2

Ha a következő hibába ütközik:


configure: error: no acceptable C compiler found in $PATH
see 'config.log' for more details

Egyszerűen telepítse a gcc-t és a függőségeket a következő paranccsal, majd futtassa újra a fenti configure parancsot.


yum install gcc       [On CentOS 7 box]
aptitude install gcc  [On Debian 8 box]

Útban lesz a PHP 7 fordítása, ami eltarthat egy ideig. Ha más könyvtárak vagy erőforrások hiányoznak, ez a folyamat sikertelen lesz, de bármikor telepítheti őket, és újra futtathatja a konfigurálást.

Például telepítenem kellett a libxml2-devel elemet, miután a következő hibaüzenetet kaptam:


configure: error: xml2-config not found. Please check your libxml2 installation.

Sajnos nem tudjuk lefedni az összes esetet, mivel a telepített szoftverek rendszerenként eltérőek lehetnek. A telepítés során érdemes megnézni ezt az oldalt, amely felvázolja a PHP forrásból történő telepítése során előforduló hibákat, valamint a megfelelő megoldásokat.

CentOS 7-en

Íme azoknak a csomagoknak a teljes listája, amelyeket telepítenem kellett a CentOS 7 dobozomba, mielőtt befejezhetném a konfigurálási folyamatot:


gcc
libxml2-devel
pkgconfig
openssl-devel
bzip2-devel
curl-devel
libpng-devel
libpng-devel
libjpeg-devel
libXpm-devel
freetype-devel
gmp-devel
libmcrypt-devel
mariadb-devel
aspell-devel
recode-devel
httpd-devel

Az összes fenti szükséges csomagot egyetlen yum paranccsal telepítheti, az ábrán látható módon.


yum install gcc libxml2-devel pkgconfig openssl-devel bzip2-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel

A következő üzenet jelzi, hogy a konfigurálás sikeresen befejeződött:

Aztán fuss,


make
make install

Ha a telepítés befejeződött, a verziót a parancssor segítségével ellenőrizheti:

Debian 8-on

A Debian rendszerben a következő csomagokat kellett telepítenem a konfigurációs folyamat sikeres befejezéséhez:


make
libxml2-dev
libcurl4-openssl-dev
libjpeg-dev
libpng-dev
libxpm-dev
libmysqlclient-dev
libicu-dev
libfreetype6-dev
libxslt-dev
libssl-dev
libbz2-dev
libgmp-dev
libmcrypt-dev
libpspell-dev 
librecode-dev
apache2-dev

Az összes fenti szükséges csomagot telepítheti az apt-get paranccsal Debian 8 rendszeren.


apt-get install make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2-dev

Ezután adja hozzá a –with-libdir=/lib/x86_64-linux-gnu kifejezést a konfigurációs lehetőségekhez, és hozza létre a következő szimbolikus hivatkozást a gmp.h fejlécfájlhoz:


ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h

Ezután futtassa a make és a make install parancsot, mint az előző esetben. A fordításnak 10-15 percen belül be kell fejeződnie, és ellenőrizhetjük a telepített PHP verziót a korábbiak szerint:


make
make install

A php.ini beállítása és a PHP 7 telepítésének tesztelése

Amikor a PHP-t forrásból telepíti, két minta php.ini található. Ebben az esetben a /opt/php-7.0.0RC1 fájlban találhatók:


ls -l /opt/php-7.0.0RC1 | grep php.ini

Most át kell másolnia az egyiket a /usr/local/lib mappába, amely a telepítési megjegyzések szerint az ilyen fájlok alapértelmezett helye:


cp /opt/php-7.0.0RC1/php.ini-development /usr/local/lib

És ne felejtse el hozzáadni ezt a konfigurációs direktívát az Apache fő konfigurációs fájljaihoz.


/etc/httpd/conf/httpd.conf    [On CentOS 7 box]
/etc/apache2/apache2.conf in  [On Debian 8 box] 

LoadModule php7_module        /usr/lib64/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

A Debian 8 verzióban kihagyhatja a LoadModule sort, valamint el kell távolítania és létre kell hoznia a következő szimbolikus hivatkozásokat a jelzett Apache modulokhoz:


cd /etc/apache2
rm mods-enabled/mpm_event.conf
rm mods-enabled/mpm_event.load
ln -s mods-available/mpm_prefork.conf mpm_prefork.conf
ln -s mods-available/mpm_prefork.load mpm_prefork.load

Ezután indítsa újra a webszervert:


systemctl restart httpd     [On CentOS 7 box]
systemctl restart apache2   [On Debian 8 box]

Ha az Apache indítása CentOS 7 rendszerben hibaüzenetet ad vissza, miszerint nem találja a libphp7.so modult, egyszerűen másolja a jelzett elérési útra. innen: /opt/php-7.0.0RC1/.libs/libphp7.so.

A PHP/Apache telepítés tesztelésének klasszikus módja egy phpinfo() fájl. Hozzon létre egy test.php nevű fájlt a következő tartalommal a webszerver dokumentumgyökérében (/var/www/html mindkét terjesztésben):


<?php
phpinfo();
?>

És indítson el egy böngészőt a hálózaton belüli kliensben, hogy tesztelje:


http://localhost/test.php
OR
http://IP-address/test.php

Összegzés

Ebben a cikkben elmagyaráztuk, hogyan kell a PHP 7-et forráskódból telepíteni, ez a népszerű szerveroldali szkriptnyelv legújabb RC-je, amely a teljesítmény soha nem látott értékekkel történő javítását célozza. Amíg ez 2015 év novemberében el nem éri az istállót, ERŐSEN azt tanácsoljuk, hogy NE használja ezt a kiadást éles környezetben.

Ha bármilyen kérdése/megjegyzése/javaslata van ezzel a cikkel kapcsolatban, nyugodtan tudassa velünk az alábbi űrlap segítségével.