Home arrow Debian FAQ arrow [Debian FAQ]シェルでPHPを実行するとPHP5が動く?
[Debian FAQ]シェルでPHPを実行するとPHP5が動く? プリント
Debian FAQ




PHP4のつもりで、シェルからPHPを実行すると、PG_connect()などのコマンドがundefinedになってしまい、PostgreSQLなどのDBに接続できません。

Web経由では動いているので問題はないと思っていたが、念のためもう一度phoinfo()で確認してみる。

やはり、httpdではphp4.4.4が実行されているようです。

今度はシェルでバージョンを確認してみます。

 

# php -v
PHP 5.2 (cli)


と表示。つまりシェルではPHP5のコマンドとして実行されるとのこと。

 

いつもmakeでインストールしていた私にとっては、パッケージインストールのなせる業は、驚きの連続。
調査してみると、ただphpとコマンドを叩くと、php5-cli(コマンドライン版PHP5)を実行している模様。

これを、alternativesでアサインを切り替える。

まずは、php4-cli がインストールされていなかったので、インストールします。

 

# apt-get install php4-cli
# update-alternatives --display php

 
php -状態は manual。
 リンクは現在 /usr/bin/php4 を指しています
/usr/bin/php5 - 優先度 50
 スレーブ php.1.gz: /usr/share/man/man1/php5.1.gz
/usr/bin/php4 - 優先度 40
 スレーブ php.1.gz: /usr/share/man/man1/php4.1.gz
現在の `最適' バージョンは /usr/bin/php5 です。

# update-alternatives --set php /usr/bin/php4

# php -v
 PHP 4.4.4-8+etch3 (cli) (built: May 13 2007 18:57:03)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies