サーバー
現在のプロジェクトをホストするために使用している開発サーバーがあります。ここにいくつかの統計があります:
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
問題
私はPHP5.3.3を使用して実行していますが、うまく機能しmod_php5
ています。しかし、サーバー上の1つのVHに対してPHP 5.2.11を実行する必要があるため、phpfarmを使用してPHP5.2.11をコンパイルしました。このVHを除くサーバー上のすべてにmod_php5を使用するようにApacheを構成したいと思います。FastCGIを介してこの1つのVHに対してPHP5.2.11を実行します。
私のテスト
テストとして、Apacheのデフォルトサイトを使用しています/var/www
。PHPのバージョンを報告するために、次のディレクトリファイルを設定しました。
- /var/www/phpinfo.php
- /var/www/php-5.2.11/phpinfo.php
私の目的は、/var/www/phpinfo.php
バージョン5.3.3(mod_php5)を/var/www/php-5.2.11/phpinfo.php
表示し、5.2.11(CGI)を表示することです。これはまだ機能していません。
次のコードを挿入しました/etc/apache2/httpd.conf
:
FastCgiServer /var/www/cgi-bin/php-cgi-5.2.11
ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/
次のコードをデフォルトサイトのVH定義に挿入しました。
<Directory /var/www/php-5.2.11/>
AddHandler php-cgi .php
Action php-cgi /cgi-bin-php/php-cgi-5.2.11
</Directory>
結果
mod_php5
有効にした場合:
- /var/www/phpinfo.php ---> 5.3.3(
mod_php5
) - /var/www/php-5.2.11/phpinfo.php ---> 5.3.3(
mod_php5
)
mod_php5
無効の場合:
- /var/www/phpinfo.php--->ハンドラーなし。FirefoxはPHPファイルをダウンロードしようとします
- /var/www/php-5.2.11/phpinfo.php ---> 5.2.11(CGI)
関係するファイル