Twitter RSS

Instalarea limbajului PHP in Linux se poate face, in functie de distributie, folosind “apt-get”, “yum”, “pkg_add”, “rpm” sau altele. Instalarea e rapida dar daca vrem sa avem un PHP optimizat cel mai bine e sa descarcam codul sursa si sa il compilam cu parametri care ne intereseaza.

In general PHP nu se instaleaza singur, deci presupun ca ati instalat deja cel putin Apache si MySQL. PHP nu depinde de cele doua servicii, deci il puteti compila chiar daca nu le aveti instalate, dezavantajul fiind ca fara Apache nu veti putea compila mod_php iar fara MySQL nu puteti compila suportul de MySQL.

Inainte de toate, sa facem un director care il vom folosi pentru instalare si sa descarcam arhiva PHP pentru instalare:

[root@vps ~]# mkdir /root/install
[root@vps ~]# cd /root/install
[root@vps ~/install]# wget http://ro.php.net/distributions/php-5.3.0.tar.gz
Resolving ro.php.net... 194.102.65.226
Connecting to ro.php.net|194.102.65.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13239065 (13M) [application/x-tar]
Saving to: php-5.3.0.tar.gz
 
100%[==============================>] 13,239,065   588K/s   in 22s     
 
2009-09-21 14:46:36 (591 KB/s) - php-5.3.0.tar.gz saved [13239065/13239065]
[root@vps ~/install]#

Dupa ce am descarcat tarball-ul care contine sursa PHP il dezarhivam folosind comanda tar:

[root@vps ~/install]# tar -zxvf php-5.3.0.tar.gz
php-5.3.0/
php-5.3.0/ext/
php-5.3.0/ext/gd/
php-5.3.0/ext/gd/gd.c
..................................
[root@vps ~/install]# cd php-5.3.0
[root@vps ~/install/php-5.3.0]#

PHP e un limbaj complex iar la instalare ii putem da mai multe optiuni. Pentru exemplificare vom folosi doar cateva, dar pentru a vedea toate optiunile vom rula comanda “./configure –help” in directorul “/root/install/php-5.3.0“, director in care avem codul sursa:

[root@vps ~/install/php-5.3.0]# ./configure --help
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
  --cache-file=FILE       cache test results in FILE
  --help                  print this message
  --no-create             do not create output files
  --quiet, --silent       do not print checking... messages
  --version               print the version of autoconf that created configure
Directory and file names:
  --prefix=PREFIX         install architecture-independent files in PREFIX
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
................................................................
[root@vps ~/install/php-5.3.0]#

Dupa cum spuneam, vom folosi doar cateva optiuni pentru a pastra PHP la un nivel minim de complexitate. Vom pregati configuratia de instalare ruland urmatoarea comanda:

[root@vps ~/install/php-5.3.0]# ./configure --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/usr/local/etc --with-mysql
loading cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
............................
[root@vps ~/install/php-5.3.0]#

Optiunile folosite sunt: “–with-apxs2=/usr/bin/apxs2 –with-config-file-path=/usr/local/etc –with-mysql“. Optiunea “–with-apxs2=/usr/bin/apxs2” va crea un modul pentru Apache (mod_php) pentru ca PHP sa functioneze in mod DSO. Fara aceasta optiune PHP va putea rula impreuna cu serverul web doar ca CGI. Optiunea “–with-config-file-path” mentioneaza locul in care PHP va cauta fisierul de configurare, php.ini, dupa ce acesta va fi instalat. In sfarsit, optiunea “–with-mysql” va instala suport pentru comenzi MySQL. Daca directorul de instalare pentru MySQL difera de cel default, “/usr/local/mysql” putem specifica un alt director dupa optiune: ex. “–with-mysql=/usr/srv/mysql“.

Dupa ce totul e configurat ne ramane doar sa rulam comanda “make” si sa asteptam sa se compileze. Dupa comanda “make“, pentru a ne asigura ca nu apar probleme, e bine sa rulam “make test“. Daca la “make test” totul e in regula, putem rula “make install” care va copia fisierele compilate in directoarele din care urmeaza sa fie utilizate.

[root@vps ~/install/php-5.3.0]# make
/bin/sh /root/install/php-5.3.0/libtool --silent --preserve-dup-deps --mode=compile /root/install/php-5.3.0/meta_ccld -Iext/date/lib -Iext/date/ -I/root/install/php-5.3.0/ext/date/ -DPHP_ATOM_INC -I/root/install/php-5.3.0/include -I/root/install/php-5.3.0/main -I/root/install/php-5.3.0 -I/root/install/php-5.3.0/ext/date/lib -I/root/install/php-5.3.0/ext/ereg/regex -I/usr/include/libxml2 -I/usr/include/mysql -I/root/install/php-5.3.0/ext/sqlite3/libsqlite -I/root/install/php-5.3.0/TSRM -I/root/install/php-5.3.0/Zend  -D_REENTRANT -DTHREAD=1  -I/usr/include -g -O2 -fvisibility=hidden -pthread -DZTS   -c /root/install/php-5.3.0/ext/date
.......................
[root@vps ~/install/php-5.3.0]# make test
=====================================================================
PHP         : /root/install/php-5.3.0/sapi/cli/php 
PHP_SAPI    : cli
PHP_VERSION : 5.3.0
ZEND_VERSION: 2.3.0
PHP_OS      : Linux - Linux vps 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 19:25:34 UTC 2009 x86_64
INI actual  : /root/install/php-5.3.0/tmp-php.ini
More .INIs  :  
CWD         : /root/install/php-5.3.0
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
[root@vps ~/install/php-5.3.0]# make install
Installing PHP SAPI module:       apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1.0/build/libtool' libphp5.la /usr/lib/apache2/modules
/usr/share/apr-1.0/build/libtool --mode=install cp libphp5.la /usr/lib/apache2/modules/
cp .libs/libphp5.so /usr/lib/apache2/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib/apache2/modules/libphp5.la
[root@vps ~/install/php-5.3.0]# make install
Installing PHP SAPI module:       apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1.0/build/libtool' libphp5.la /usr/lib/apache2/modules
/usr/share/apr-1.0/build/libtool --mode=install cp libphp5.la /usr/lib/apache2/modules/
cp .libs/libphp5.so /usr/lib/apache2/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib/apache2/modules/libphp5.la
...............................
[root@vps ~/install/php-5.3.0]#

Dupa ce s-a finalizat instalarea mai trebuie doar sa adaugam in fisierul “httpd.conf” linia:

LoadModule php5_module        modules/libphp5.so

Pentru ca serverul web sa incarce modulul pentru PHP, iar mai jos, langa alte linii care incep cu AddType, adaugam:

AddType application/x-httpd-php .php

Linie care va determina serverul web sa interpreteze codul PHP conform modulului incarcat.

Dupa ce am finalizat instalarea tot ce ne ramane de facut e sa restartam serverul web. Daca totul a decurs fara nici o eroare, ar trebui ca serverul web sa poata interpreta fisiere scrise in PHP.

Popularity: 4% [?]

Ai intrebari?

* Te rog sa postezi pe NetHelp orice intrebare care nu are legatura cu articolul.

Retele sociale
Reclamã
Sharing makes you cool!
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Retele
Tutoriale despre retele de calculatoare, configurarea interfetelor de retea si rutarea IP-urilor.
/retele-networking/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Web hosting
Articole despre serviciile de gazduire web, dedicate sau in regim shared.
/web-hosting/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
cpadmin.ro
ABCDomenii