Kā instalēt PHP 7 ar Apache un MariaDB uz CentOS 7/Debian 8
Pagājušajā nedēļā (precīzāk, 2015. gada 21. augustā) PHP izstrādes komanda paziņoja par jaunākā PHP 7 izlaiduma pieejamību un mudināja lietotājus un izstrādātājus visā pasaulē to pārbaudīt.
Tomēr mums jāņem vērā, ka, tā kā šī ir RC (Release Candidate) versija, domājams, ka tajā var būt kļūdas vai nesaderība ar esošajiem iestatījumiem, tāpēc lietotājiem tiek lūgts ziņot par tām, izmantojot kļūdu izsekošanas sistēmu, un neizmantot PHP 7 ražošana, kamēr tā paliek šajā fāzē.
Spilgtākā puse ir tā, ka šajā versijā ir iekļauti vairāki labojumi (iespējams, vēlēsities atsaukties uz šo lapu projekta GitHub repozitorijā, lai iegūtu detalizētu jauno funkciju un uzlabojumu sarakstu), un atšķirīgākā iezīme ir ievērojams veiktspējas pieaugums, salīdzinot ar iepriekšējo. versijas.
Šis raksts ļaus jums iepazīties ar PHP 7 RC1 instalēšanas un apkopošanas procesu no avota tarball kopā ar Apache un MariaDB uz CentOS 7 un Debian 8 Jessie. Šīs instrukcijas darbojas arī uz CentOS balstītiem izplatījumiem, piemēram, RHEL, Fedora, Scientific Linux un Debian, piemēram, Ubuntu/Mint.
PHP 7 instalēšana CentOS 7 un Debian 8
Kā teikts ievadā, tā kā šī versija ir RC, nevis stabila izlaišana, mēs nevaram pamatoti cerēt, ka to atradīsim krātuvēs. Šī iemesla dēļ mums būs jālejupielādē pirmkods un jāapkopo programma no jauna.
Tomēr, pirms to darām, mums jāatceras, ka, lai labāk izmantotu PHP 7 priekšrocības, un, iespējams, labākais veids, kā to izmēģināt, ir tā instalēšana kopā ar Apache un MariaDB - ko mēs varam atrast krātuvēs:
# yum update && yum install httpd mariadb mariadb-server
# aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb.common
Jebkurā gadījumā patērētāju ar PHP avota kodu var lejupielādēt un iegūt šādi:
# wget https://downloads.php.net/~ab/php-7.0.0RC1.tar.gz # tar xzf php-7.0.0RC1.tar.gz -C /opt
Kad tas ir izdarīts, pārejam uz /opt/php-7.0.0RC1 un izpildiet buildconf skriptu ar slēdzi –force, lai piespiestu RC versijas izveidi:
# ls
# cd /opt/php-7.0.0RC1.tar.gz # ./buildconf --force
Tagad ir pienācis laiks izpildīt mūsu labi zināmo konfigurēšanas komandu. Lai gan zemāk esošās opcijas nodrošinās standarta PHP 7 instalēšanu, varat atsaukties uz visu opciju sarakstu PHP rokasgrāmatā, lai labāk pielāgotu instalāciju atbilstoši savām vajadzībām:
# ./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
Ja rodas šāda kļūda:
configure: error: no acceptable C compiler found in $PATH see 'config.log' for more details
Vienkārši instalējiet gcc un atkarības ar šādu komandu un vēlreiz palaidiet iepriekš minēto komandu configure.
# yum install gcc [On CentOS 7 box] # aptitude install gcc [On Debian 8 box]
Jūs gatavojaties sastādīt PHP 7, kas var aizņemt kādu laiku. Ja trūkst citu bibliotēku vai resursu, šis process neizdosies, taču jūs vienmēr varat tos instalēt un vēlreiz palaist konfigurēšanu.
Piemēram, man bija jāinstalē libxml2-devel pēc šāda kļūdas ziņojuma saņemšanas:
configure: error: xml2-config not found. Please check your libxml2 installation.
Diemžēl mēs nevaram aptvert visus gadījuma scenārijus, jo instalētā programmatūra dažādās sistēmās var atšķirties. Instalēšanas laikā, iespējams, vēlēsities atsaukties uz šo lapu, kurā ir norādītas vairākas kļūdas, ar kurām var saskarties, instalējot PHP no avota, kā arī attiecīgie risinājumi.
Šeit ir pilns to pakotņu saraksts, kas man bija jāinstalē lodziņā CentOS 7 pirms konfigurēšanas procesa pabeigšanas:
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
Visas iepriekš minētās nepieciešamās pakotnes var instalēt ar vienu komandu yum, kā parādīts.
# 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
Šis ziņojums norāda, ka konfigurācija ir veiksmīgi pabeigta:
Tad skrien,
# make # make install
Kad instalēšana ir pabeigta, versiju varat pārbaudīt, izmantojot komandrindu:
Lai veiksmīgi pabeigtu konfigurēšanas procesu, manā Debianā bija jāinstalē šādas pakotnes:
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
Visas iepriekš minētās nepieciešamās pakotnes var instalēt ar komandu apt-get Debian 8.
# 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
Pēc tam konfigurēšanas opcijām pievienojiet –with-libdir =/lib/x86_64-linux-gnu un izveidojiet šādu saiti uz galvenes failu gmp.h:
# ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
Pēc tam skrēja make and make install tāpat kā iepriekšējā gadījumā. 10-15 minūšu laikā kompilācijai vajadzētu būt pabeigtai, un mēs varam pārbaudīt instalēto PHP versiju tāpat kā iepriekš:
# make # make install
Php.ini iestatīšana un PHP 7 instalēšanas pārbaude
Instalējot PHP no avota, tiek piedāvāti divi php.ini paraugi. Šajā gadījumā tie atrodas /opt/php-7.0.0RC1 iekšpusē:
# ls -l /opt/php-7.0.0RC1 | grep php.ini
Tagad jums viens no tiem ir jākopē uz/usr/local/lib, kas ir norādīta kā noklusējuma vieta šādam failam saskaņā ar instalēšanas piezīmēm:
# cp /opt/php-7.0.0RC1/php.ini-development /usr/local/lib
Neaizmirstiet pievienot šo konfigurācijas direktīvu galvenajiem Apache konfigurācijas failiem.
/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>
Debian 8 varat izlaist rindu LoadModule, kā arī jānoņem un jāizveido šādas simboliskās saites uz norādītajiem Apache moduļiem:
# 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
Pēc tam restartējiet tīmekļa serveri:
# systemctl restart httpd [On CentOS 7 box] # systemctl restart apache2 [On Debian 8 box]
Ja, palaižot Apache CentOS 7, tiek parādīts kļūdas ziņojums, ka tā nevar atrast moduli libphp7.so, vienkārši nokopējiet norādīto ceļu no /opt/php-7.0.0RC1/.libs/libphp7.so.
Klasisks veids, kā pārbaudīt PHP/Apache instalāciju, ir phpinfo()
faila izmantošana. Tīmekļa servera dokumenta saknē izveidojiet failu test.php ar šādu saturu (/ var/www/html abos sadalījumos):
<?php phpinfo(); ?>
Un palaidiet pārlūku klienta tīklā, lai pārbaudītu:
http://localhost/test.php OR http://IP-address/test.php
Kopsavilkums
Šajā rakstā mēs esam paskaidrojuši, kā instalēt PHP 7 no avota koda, kas ir šīs populārās servera puses skriptu valodas jaunākais RC, kura mērķis ir uzlabot veiktspēju bezprecedenta vērtībās. Kamēr tas sasniegs stabilu 2015. gada novembrī, jums ir stingri ieteicams NELIETOT šo laidienu ražošanas vidē.
Ja jums ir kādi jautājumi/komentāri/ieteikumi par šo rakstu, sazinieties ar mums, izmantojot zemāk esošo veidlapu.