Копиляция
linux-debian-1:~# cd ~
linux-debian-1:~# mkdir php5.3-src
linux-debian-1:~# cd php5.3-src
linux-debian-1:~/php5.3-src# apt-get build-dep php5 php5-mysql php5-gd libapache2-mod-php5
linux-debian-1:~/php5.3-src# wget http://ru2.php.net/get/php-5.3.6.tar.gz/from/this/mirror -O php-5.3.6.tar.gz
linux-debian-1:~/php5.3-src# tar -xzf php-5.3.6.tar.gz
linux-debian-1:~/php5.3-src# cd php-5.3.6
linux-debian-1:~/php5.3-src/php-5.3.6# ./configure --prefix=/usr/local/php53 --with-gd --enable-mbstring --with-mysql --enable-zip ; если нужно как модуль апаче 2 - добавим --with-apxs2=/usr/bin/apxs2, хотя для начала не стоит, ибо предыдущий php5.2.6 слетит
linux-debian-1:~/php5.3-src/php-5.3.6# make
linux-debian-1:~/php5.3-src/php-5.3.6# make test (тут о всех багах будет сообщено, с расшифровкой после теста, жмем Yes и отправляем отчет)
linux-debian-1:~/php5.3-src/php-5.3.6# make install
linux-debian-1:~/php5.3-src/php-5.3.6# sudo -u www-data mkdir ~www-data/53.web.local/php-bin
linux-debian-1:~/php5.3-src/php-5.3.6# echo '#!/usr/local/php53/bin/php-cgi' > ~www-data/53.web.local/php-bin/php
linux-debian-1:~/php5.3-src/php-5.3.6# chmod 750 ~www-data/53.web.local/php-bin/php
linux-debian-1:~/php5.3-src/php-5.3.6# chown www-data:www-data ~www-data/53.web.local/php-bin/php
Далее правим виртуальный хост, что бы получилось примерно так
<VirtualHost *:80>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/53.web.local/httpdocs/>
AllowOverride All
</Directory>
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
</Directory>
ServerAdmin [email protected]
DocumentRoot /var/www/53.web.local/httpdocs/
ServerName 53.web.local
ServerAlias www.53.web.local 53.local.prime-gr.ru www.53.local.prime-gr.ru
Alias /robots.txt /var/www/robots.txt
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# PHP 5.3
<Directory "/var/www/53.web.local/php-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
</Directory>
ScriptAlias /php-bin/ /var/www/53.web.local/php-bin/
AddType application/php-cgi-53 .php
Action application/php-cgi-53 /php-bin/php
# END OF PHP 5.3
ErrorLog /var/www/53.web.local/logs/error.log
CustomLog /var/www/53.web.local/logs/access.log common
</VirtualHost>
Далее:
linux-debian-1:~/php5.3-src/php-5.3.6# apache2ctl restart
linux-debian-1:~/php5.3-src/php-5.3.6# echo "post_max_size = 15M" > ~www-data/53.web.local/php-bin/php.ini
linux-debian-1:~/php5.3-src/php-5.3.6# chmod 640 ~www-data/53.web.local/php-bin/php.ini
linux-debian-1:~/php5.3-src/php-5.3.6# chown www-data:www-data ~www-data/53.web.local/php-bin/php.ini
linux-debian-1:~/php5.3-src/php-5.3.6#
Тут получится вот это: http://53.local.prime-gr.ru (PHPINFO, список включенных в PHP расширений смотри в нем)
Если нужно скомпилить например image-magic для 5.3 (ext)
linux-debian-1:~/php5.3-src/php-5.3.6# cd ../../
linux-debian-1:~# mkdir php5-imagick
linux-debian-1:~# cd php5-imagick
linux-debian-1:~/php5-imagick# wget http://pecl.php.net/get/imagick-3.0.1.tgz
linux-debian-1:~/php5-imagick# tar -xzf ./imagick-3.0.1.tgz
linux-debian-1:~/php5-imagick# cd imagick-3.0.1
linux-debian-1:~/php5-imagick/imagick-3.0.1# apt-get build-dep imagemagick
linux-debian-1:~/php5-imagick/imagick-3.0.1# apt-get install imagemagick libmagick++9-dev
linux-debian-1:~/php5-imagick/imagick-3.0.1# /usr/local/php53/bin/phpize
linux-debian-1:~/php5-imagick/imagick-3.0.1# ./configure --with-php-config=/usr/local/php53/bin/php-config
linux-debian-1:~/php5-imagick/imagick-3.0.1# make install
В итоге экстеншенс будет лежать где-нибудь тут
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions: /usr/local/php53/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files: /usr/local/php53/include/php/