Obsługa kilku różnych wersji PHP zawsze była pewnym problemem. Domyślnym rozwiązaniem jest użycie mod_php (libphp5.so). Problem w tym, że ograniczeni jesteśmy tylko do jednej wersji na serwer www (np. apache). Na szczęście wszystko da się zrobić i popularnym rozwiązaniem była instalacja kilku instancji serwera www, każda z nich nasłuchiwała na innym porcie i do każdej z nich mogliśmy przypisać inną wersję PHP. Do tego dochodziło „trochę magii” z opcją ProxyPass etc, ale najważniejsze było to że działało (zobacz wpis Suse 9.3 z php 5.0.x i 5.2.x). No ale nie o tym ten wpis.
Zaczynając od wersji 5.3.3 w PHP dostępny jest dodatek PHP-FPM (FastCGI Process Manager), który jest alternatywną implementacją FastCGI zawartą już bezpośrednio w jądrze PHP. Potrafi on samemu zarządzać procesami FastCGI, dostarcza nam wszelkich statystyk (podobnie do mod_status w Apache), każdy z procesów możemy uruchomić z innym uid/gid/chroot lub plikiem php.ini etc etc. W skrócie rozwiązanie zalecane dla większych i bardziej wymagających stron. A ponieważ procesy PHP uruchamiane są dynamicznie poprzez FastCGI możemy właśnie użyć różnych wersji w per virtual host. I nie potrzebujemy do tego kolejnych instancji serwera www.
Przygotowanie systemu
Tyle słowem wstępu, przejdźmy wreszcie do konkretów. Jako bazę użyjemy systemu CentOS w wersji 6.4 (64 bity), świeżo zainstalowany z pliku CentOS-6.4-x86_64-minimal.iso. Selinux jest wyłączony:
[root@centos ~]# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted [root@centos ~]# sestatus SELinux status: disabled
Pakiet php-fpm jest dostępny w domyślnych repozytoriach systemu (wersja 5.3.3). Wersje 5.4 i 5.5 skompilujemy ręcznie. Na starcie musimy zainstalować pliki nagłówkowe, kompilator, aby nie mieć problemów później podczas kompilacji. Doinstalujemy też MySQL:
yum install mysql mysql-devel mysql-server mysql-libs
Narzędzia developerskie:
yum groupinstall 'Development Tools'
oraz pakiety -devel
yum install libxml2-devel libXpm-devel gmp-devel libicu-devel t1lib-devel aspell-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libvpx-devel libpng-devel freetype-devel readline-devel libtidy-devel libxslt-devel libmcrypt-devel pcre-devel curl-devel mysql-devel ncurses-devel gettext-devel net-snmp-devel libevent-devel libtool-ltdl-devel libc-client-devel postgresql-devel
Nie zapominamy oczywiście o apache:
yum install httpd
Na koniec musimy jeszcze zainstalować mod_fastcgi. Pakiet nie jest dostępny w oficjalnym repozytorium, ale można go znaleźć np. w rpmforge:
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -ihv rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum install mod_fastcgi
PHP-FPM 5.3
Instalacja PHP-FPM z repozytorium
Dodajemy pakiet php-fpm oraz kilka innych. Yum sam rozwiąże wszelkie zależności:
yum install php-fpm php-mysql php-gd php-pear php-mbstring php-cli php-xml
Konfiguracja Apache
Pierwszą wersje php mamy już zainstalowaną, przygotujemy teraz całą konfigurację. Nasz serwer ma adres IP 192.168.1.248. Utworzymy 3 różne virtualhost’y:
- php53.tech-itcore.pl (DocumentRoot w /var/www/php53/root/)
- php54.tech-itcore.pl (DocumentRoot w /var/www/php54/root/)
- php55.tech-itcore.pl (DocumentRoot w /var/www/php55/root/)
Dodajemy odpowiednie wpisy do pliku /etc/hosts
:
[root@centos ~]# cat /etc/hosts 192.168.1.248 php53.tech-itcore.pl 192.168.1.248 php54.tech-itcore.pl 192.168.1.248 php55.tech-itcore.pl
Pliki konfiguracyjne vhost’ów będziemy dodawać do katalogu /etc/httpd/conf/vhost.d/
[root@centos ~]# mkdir /etc/httpd/conf/vhost.d/
Na końcu pliku /etc/httpd/conf/httpd.conf
dodajemy:
NameVirtualHost 192.168.1.248:80 Include /etc/httpd/conf/vhost.d/
W pliku /etc/httpd/conf.d/fastcgi.conf
ustawiamy opcję FastCgiWrapper na Off:
cat /etc/httpd/conf.d/fastcgi.conf FastCgiWrapper Off
Konfigurację php-fpm znajdziemy w:
- /etc/php-fpm.conf
- /etc/php-fpm.d/
Zostawiamy ją bez zmian, proces domyślnie nasłuchuje na 127.0.0.1:9000, logi znajdziemy w /var/log/php-fpm
.
Na koniec przygotujemy konfigurację dla php53.tech-itcore.pl, zrestartujemy proces httpd
oraz php-fpm
:
cat /etc/httpd/conf/vhost.d/php53.tech-itcore.pl.conf <VirtualHost 192.168.1.248:80> ServerName php53.tech-itcore.pl DocumentRoot /var/www/php53.tech-itcore.pl/root ErrorLog /var/log/httpd/php53.tech-itcore.pl-error_log CustomLog /var/log/httpd/php53.tech-itcore.pl-access_log combined DirectoryIndex index.html index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/php53.tech-itcore.pl/cgi-bin/php5-fcgi-php53.tech-itcore.pl FastCgiExternalServer /var/www/php53.tech-itcore.pl/cgi-bin/php5-fcgi-php53.tech-itcore.pl -idle-timeout 300 -host 127.0.0.1:9000 -pass-header Authorization <Directory "/var/www/php53.tech-itcore.pl/root"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/var/www/php53.tech-itcore.pl/cgi-bin"> Order allow,deny Allow from all </Directory> </VirtualHost>
Musimy utworzyć jeszcze odpowiednie katalogi:
mkdir -p /var/www/php53.tech-itcore.pl/root/ mkdir -p /var/www/php53.tech-itcore.pl/cgi-bin/
oraz plik index.php
(phpinfo();):
echo -e "<?php\nphpinfo();\n?>" > /var/www/php53.tech-itcore.pl/root/index.php
Restart procesów:
[root@centos ~]# /etc/init.d/httpd restart [root@centos ~]# /etc/init.d/php-fpm restart
Apache nasłuchuje na porcie 80 a proces php-fpm
na 9000.
Test
Sprawdzamy czy strona numer 1 działa:
[root@centos ~]# links -dump php53.tech-itcore.pl | head [1]PHP Logo PHP Version 5.3.3 System Linux centos 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 Build Date Feb 22 2013 02:52:56 './configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix='
Wygląda dobrze (Server API – FPM/FastCGI). Przechodzimy do PHP 5.4.
PHP-FPM 5.4
Kompilacja
Ściągamy najnowszą wersję z oficjalnej strony php.net (obecnie jest to 5.4.13) i rozpakujemy ją w katalogu /usr/src
:
[root@centos ~]# cd /usr/src/ [root@centos src]# wget "http://de3.php.net/get/php-5.4.13.tar.bz2/from/pl1.php.net/mirror" -O php-5.4.13.tar.bz2 [root@centos src]# tar xf php-5.4.13.tar.bz2 [root@centos src]# cd php-5.4.13
Wszystkie możliwe opcję kompilacji można wyświetlić wpisując:
[root@centos php-5.4.13]# ./configure --help
Całość wrzucimy do katalogu /opt/php54
(–prefix=/opt/php54). Musimy też ustawić właściwego użytkownika i grupę. Dla systemu CentOS będzie to apache (opcje: –with-fpm-user=apache oraz –with-fpm-group=apache). Ostatnia linia aktywuje FPM (–with-fpm)
[root@centos php-5.4.13]# ./configure \ --prefix=/opt/php54 \ --with-config-file-scan-dir=/opt/php54/etc/php.d \ --with-pdo-pgsql \ --with-zlib-dir \ --with-freetype-dir \ --enable-mbstring \ --with-libxml-dir=/usr \ --enable-soap \ --enable-calendar \ --with-curl \ --with-mcrypt \ --with-zlib \ --with-gd \ --disable-rpath \ --enable-inline-optimization \ --with-bz2 \ --with-zlib \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-mbregex \ --with-mhash \ --enable-zip \ --with-pcre-regex \ --with-mysql=/usr \ --with-pdo-mysql \ --with-mysqli \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --enable-gd-native-ttf \ --with-openssl \ --with-fpm-user=apache \ --with-fpm-group=apache \ --with-libdir=lib64 \ --enable-ftp \ --with-imap \ --with-imap-ssl \ --with-kerberos \ --with-gettext \ --enable-fpm
Następnie:
[root@centos php-5.4.13]# make [root@centos php-5.4.13]# make install
Konfiguracja
Zaczynamy od skopiowania plików php.ini
oraz php-fpm.conf
:
[root@centos php-5.4.13]# cp php.ini-production /opt/php54/lib/php.ini [root@centos php-5.4.13]# cp /opt/php54/etc/php-fpm.conf.default /opt/php54/etc/php-fpm.conf
W drugim z nich wprowadzimy parę zmian:
[root@centos etc]# cat /opt/php54/etc/php-fpm.conf [global] ; Pid file ; Note: the default prefix is /opt/php54/var ; Default Value: none pid = run/php-fpm.pid .... listen = 127.0.0.1:9001 ... include=/opt/php54/etc/pool.d/*.conf
Proces ten będzie nasłuchiwać na porcie 9001 (port 9000 jest użyty przez php-fpm 5.3). Na samym dole dodajemy opcję include=/opt/php54/etc/pool.d/*.conf. Musimy jeszcze utworzyć ten katalog:
[root@centos php-fpm.d]# mkdir /opt/php54/etc/pool.d
Skrypt startowy (init.d)
Dodamy teraz skrypt startowy, który automatycznie uruchomi proces php-fpm podczas startu systemu:
#! /bin/sh ### BEGIN INIT INFO # Provides: php-5.4.13-fpm # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php-5.4.13-fpm # Description: starts the PHP FastCGI Process Manager daemon ### END INIT INFO # Source function library. . /etc/init.d/functions php_fpm_BIN=/opt/php54/sbin/php-fpm php_fpm_CONF=/opt/php54/etc/php-fpm.conf php_fpm_PID=/opt/php54/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm54 " $php_fpm_BIN $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm54 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm54 is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-exit" exit 1 else echo " done" echo " done" fi ;; force-quit) echo -n "Terminating php-fpm54 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm54 is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm54 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm54 is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; status) status -p ${php_fpm_PID} ${php_fpm_BIN} RETVAL=$? ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status}" exit 1 ;; esac
Nadajemy mu odpowiednie prawa oraz dodajemy do runlevel 2, 3 i 5:
[root@centos ~]# chmod 755 /etc/init.d/php-fpm54 [root@centos ~]# chkconfig --levels 235 php-fpm54 on
Na koniec uruchamiamy skrypt:
[root@centos ~]# /etc/init.d/php-fpm54 start
Ignorujemy wiadomość: WARNING: Nothing matches the include pattern ‚/opt/php54/etc/pool.d/*.conf’ from /opt/php54/etc/php-fpm.conf at line 513.. W naszym systemie działają teraz dwa daemony php-fpm. Jeden z nich nasłuchuje na porcie 9000 a drugi na 9001:
[root@centos ~]# netstat -anpt | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9929/php-fpm tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 9989/php-fpm
Konfiguracja Apache
Skonfigurujemy teraz wirtualnego hosta dla strony php54.tech-itcore.pl. Najpierw stworzymy niezbędne katalogi w DocumentRoot oraz plik index.php
:
mkdir -p /var/www/php54.tech-itcore.pl/root/ mkdir -p /var/www/php54.tech-itcore.pl/cgi-bin/
echo -e "<?php\nphpinfo();\n?>" > /var/www/php54.tech-itcore.pl/root/index.php
Poniżej plik php54.tech-itcore.pl.conf
. Pamiętajmy, żeby zmienić port na 9001:
<VirtualHost 192.168.1.248:80> ServerName php54.tech-itcore.pl DocumentRoot /var/www/php54.tech-itcore.pl/root ErrorLog /var/log/httpd/php54.tech-itcore.pl-error_log CustomLog /var/log/httpd/php54.tech-itcore.pl-access_log combined DirectoryIndex index.html index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/php54.tech-itcore.pl/cgi-bin/php5-fcgi-php54.tech-itcore.pl FastCgiExternalServer /var/www/php54.tech-itcore.pl/cgi-bin/php5-fcgi-php54.tech-itcore.pl -idle-timeout 300 -host 127.0.0.1:9001 -pass-header Authorization <Directory "/var/www/php54.tech-itcore.pl/root"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/var/www/php54.tech-itcore.pl/cgi-bin"> Order allow,deny Allow from all </Directory> </VirtualHost>
Pozostaje nam tylko przeładować httpd
:
[root@centos ~]# /etc/init.d/httpd reload
Test
Podobnie jak poprzednio testujemy stronę numer 2 korzystając z polecenia links
:
[root@centos vhost.d]# links -dump php54.tech-itcore.pl | head [1]PHP Logo PHP Version 5.4.13 System Linux centos 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 Build Date Apr 11 2013 11:11:38 './configure' '--prefix=/opt/php54' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring'
Świetnie PHP Version 5.4.13 oraz Server API – FPM/FastCGI!
PHP-FPM 5.5
Prace nad wersją 5.5 wciąż trwają, dostępna jest tylko w wersja beta. Najnowsza z nich (beta3) wydana została 9 kwietnia 2013 roku.
Kompilacja
Podobnie jak poprzednio ściągamy paczkę z oficjalnej strony, następnie rozpakowujemy ją w katalogu /usr/src
[root@centos ~]# cd /usr/src/ [root@centos src]# wget http://downloads.php.net/dsp/php-5.5.0beta3.tar.xz [root@centos src]# tar xf php-5.5.0beta3.tar.xz [root@centos src]# cd php-5.5.0beta3
Wersję tę zainstalujemy w katalogu /opt/php55
(–prefix=/opt/php54). Reszta tak samo jak w wersji 5.4:
./configure \ --prefix=/opt/php55 \ --with-config-file-scan-dir=/opt/php55/etc/php.d \ --with-pdo-pgsql \ --with-zlib-dir \ --with-freetype-dir \ --enable-mbstring \ --with-libxml-dir=/usr \ --enable-soap \ --enable-calendar \ --with-curl \ --with-mcrypt \ --with-zlib \ --with-gd \ --disable-rpath \ --enable-inline-optimization \ --with-bz2 \ --with-zlib \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-mbregex \ --with-mhash \ --enable-zip \ --with-pcre-regex \ --with-mysql=/usr \ --with-pdo-mysql \ --with-mysqli \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --enable-gd-native-ttf \ --with-openssl \ --with-fpm-user=apache \ --with-fpm-group=apache \ --with-libdir=lib64 \ --enable-ftp \ --with-imap \ --with-imap-ssl \ --with-kerberos \ --with-gettext \ --enable-fpm
[root@centos php-5.5.0beta3]# make && make install
Po dłuższej (lub krótszej w zależności od sprzętu) PHP 5.5 będzie zainstalowane:
[root@centos php-5.5.0beta3]# ls -1 /opt/php55/ bin etc include lib php sbin var
Konfiguracja
Postępujemy dokładnie tak samo jak przy poprzedniej wersji. Kopiujemy pliki php.ini
oraz php-fpm.conf
w odpowiednie miejsca oraz wprowadzamy niezbędne zmiany w tym drugim:
[root@centos php-5.5.0beta3]# cp php.ini-production /opt/php55/lib/php.ini [root@centos php-5.5.0beta3]# cp /opt/php55/etc/php-fpm.conf.default /opt/php55/etc/php-fpm.conf
[root@centos etc]# cat /opt/php55/etc/php-fpm.conf [global] ; Pid file ; Note: the default prefix is /opt/php54/var ; Default Value: none pid = run/php-fpm.pid .... listen = 127.0.0.1:9002 ... include=/opt/php55/etc/pool.d/*.conf
Tym razem proces będzie nasłuchiwać na porcie 9002. Na końcu pliku dodaliśmy opcję include=/opt/php55/etc/pool.d/*.conf, tworzymy też wskazany katalog:
[root@centos php-fpm.d]# mkdir /opt/php55/etc/pool.d
Skrypt startowy (init.d)
Skrypt startowy jest taki sam jak w przypadku php-fpm54 musimy tylko zmienić niektóre ścieżki:
[root@centos ~]# cat /etc/init.d/php-fpm55 #! /bin/sh ### BEGIN INIT INFO # Provides: php-5.5beta3-fpm # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php-5.5beta3-fpm # Description: starts the PHP FastCGI Process Manager daemon ### END INIT INFO # Source function library. . /etc/init.d/functions php_fpm_BIN=/opt/php55/sbin/php-fpm php_fpm_CONF=/opt/php55/etc/php-fpm.conf php_fpm_PID=/opt/php55/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF" wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done } case "$1" in start) echo -n "Starting php-fpm55 " $php_fpm_BIN $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Gracefully shutting down php-fpm55 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm55 is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed. Use force-exit" exit 1 else echo " done" echo " done" fi ;; force-quit) echo -n "Terminating php-fpm55 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm55 is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm55 " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm55 is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; status) status -p ${php_fpm_PID} ${php_fpm_BIN} RETVAL=$? ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status}" exit 1 ;; esac
Nadajemy mu odpowiednie prawa oraz dodajemy do runlevel 2, 3 i 5:
[root@centos ~]# chmod 755 /etc/init.d/php-fpm55 [root@centos ~]# chkconfig --levels 235 php-fpm55 on
Uruchamiamy go:
[root@centos ~]# /etc/init.d/php-fpm55 start
Teraz w naszym systemie powinny działać trzy procesy php-fpm. Wersja 5.3 nasłuchuje na porcie 9000, 5.4 na 9001 i 5.5. na porcie 9002:
[root@centos ~]# netstat -anpt | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9929/php-fpm tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 9989/php-fpm tcp 0 0 127.0.0.1:9002 0.0.0.0:* LISTEN 6415/php-fpm
Konfiguracja Apache
Pozstał nam tylko virtualhost. Tworzymy katalogi:
[root@centos ~]# mkdir -p /var/www/php55.tech-itcore.pl/root [root@centos ~]# mkdir -p /var/www/php55.tech-itcore.pl/cgi-bin
Oraz plik index.php
:
echo -e "<?php\nphpinfo();\n?>" > /var/www/php55.tech-itcore.pl/root/index.php
Oraz plik php55.tech-itcore.pl.conf
. Ponownie możemy skopiować wersję z php54, następnie zmienić ścieżki oraz ustawić port na 9002:
<VirtualHost 192.168.1.248:80> ServerName php55.tech-itcore.pl DocumentRoot /var/www/php55.tech-itcore.pl/root ErrorLog /var/log/httpd/php55.tech-itcore.pl-error_log CustomLog /var/log/httpd/php55.tech-itcore.pl-access_log combined DirectoryIndex index.html index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/php55.tech-itcore.pl/cgi-bin/php5-fcgi-php55.tech-itcore.pl FastCgiExternalServer /var/www/php55.tech-itcore.pl/cgi-bin/php5-fcgi-php55.tech-itcore.pl -idle-timeout 300 -host 127.0.0.1:9002 -pass-header Authorization <Directory "/var/www/php55.tech-itcore.pl/root"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/var/www/php55.tech-itcore.pl/cgi-bin"> Order allow,deny Allow from all </Directory> </VirtualHost>
Ostatni krok to reload serwera www:
[root@centos ~]# /etc/init.d/httpd reload
Test
Na deser został już tylko test ostatniej strony:
[root@centos ~]# links -dump php55.tech-itcore.pl | head [1]PHP logo PHP Version 5.5.0beta3 System Linux centos 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 Build Date Apr 11 2013 15:17:47 './configure' '--prefix=/opt/php55' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring'
Tutaj też bez niespodzianek, zgłasza nam się PHP w wersji 5.5.
0 Komentarze.