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.