The Server
Benim şimdiki projelere ev sahipliği için kullanıyorum bir gelişme sunucu var. İşte bazı istatistikler şunlardır:
root@myserver:/usr/bin $ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
root@myserver:/usr/bin $ apache2 -v
Server version: Apache/2.2.16 (Ubuntu)
Server built: Nov 18 2010 21:17:43
root@myserver:/usr/bin $ php --version
PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:00:18)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
root@myserver:/usr/bin $ uname -r
2.6.35-22-server
The Problem
I mod_php5
kullanarak PHP 5.3.3 çalıştırıyorum ve harika çalışıyor. Ama ben sunucu üzerinde sadece bir VH için PHP 5.2.11 çalıştırmak gerekir, bu yüzden phpfarm PHP 5.2.11 derlemek için kullanılır. Ben bu VH dışında sunucuda her şey için mod_php5 kullanmak için Apache yapılandırmak istiyorum. Ben FastCGI üzerinde bu bir VH için PHP 5.2.11 kaçıyorum.
My Test
Bir test olarak, ben /var/www
de Apache'nin varsayılan site kullanıyorum. Bana PHP sürümleri rapor aşağıdaki dizin dosyaları kurmak:
- / Var / www / phpinfo.php
- / Var/www/php-5.2.11/phpinfo.php
Benim amacım var / Var / www / phpinfo.php
Bana sürümü 5.3.3 (mod_php5) göstermek ve / Var/www/php-5.2.11/phpinfo.php
Bana 5.2.11 (CGI) göstermek sahip olmaktır. Bu henüz çalışmıyor.
Ben aşağıdaki kodu takılı /etc/apache2/httpd.conf
:
FastCgiServer /var/www/cgi-bin/php-cgi-5.2.11
ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/
Ben varsayılan sitenin VH tanımının içine aşağıdaki kodu eklenir:
<Directory /var/www/php-5.2.11/>
AddHandler php-cgi .php
Action php-cgi /cgi-bin-php/php-cgi-5.2.11
</Directory>
Results
mod_php5
ile etkin:
- / Var / www / phpinfo.php ---> 5.3.3 (
mod_php5
) - / Var/www/php-5.2.11/phpinfo.php ---> 5.3.3 (
mod_php5
)
mod_php5
devre ile:
- / Var / www / phpinfo.php ---> no handler; Firefox tries to download the PHP file
- / Var/www/php-5.2.11/phpinfo.php ---> 5.2.11 (CGI)
The Files Involved