2

私のローカル テスト サーバーでは、PHP 5.4 を使用しています。ただし、ライブホストでは、現在 PHP 5.3 に制限されており、.htaccess で指定する必要があります (指定しない場合、デフォルトで 5.2 になります)。

だから私は追加することができます:

# Use PHP 5.3
Action application/x-hg-php53 /cgi-sys/php53
AddHandler application/x-hg-php53 .php

これはライブホストではうまく機能しますが、ローカルのテストサーバーを壊します.

mod_rewrite のようなものを使用して、ドメインに基づいて PHP のバージョンを条件付きで指定することは可能ですか? それとももっと良い方法がありますか?.htaccess ファイルは追跡 (git) されており、可能であればそのままにしておきたいと思います。

同じ質問がここで尋ねられていると思いますが、動的展開方法が実装されていません (git push/pull 中の単純な bash 以外)。

4

1 に答える 1

1

mod_rewrite を使用してこれを動的に行う方法はありません。

実行する必要があるかどうか、または PHP 5.4 バージョンActionを検出できる中立的な php ラッパーを指定してみてください。cgi-sys/php53次のようなもの:

Action php-cgi /cgi-sys/php-wrapper.cgi
AddHandler php-cgi .php

次に、cgi-sys/php-wrapper.cgiファイル内で次のようにします。

#!/bin/sh

# check if this is the php 5.3 environment
if [ -x "/path/to/cgi-sys/php53" ]; then
    # execute php 5.3
    export PHPRC=/path/to/php5.3/rc
    exec /path/to/cgi-sys/php53
else 
    # else, run php 5.4
    export PHPRC=/path/to/php5.4/rc
    exec /path/to/cgi-sys/php54
fi
于 2013-09-17T19:23:51.123 に答える