[Debian FAQ]シェルでPHPを実行するとPHP5が動く? |
|
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
|