私の問題は、php -i
を実行すると、phpバージョンがphp 5.4として表示され、ロードされた構成ファイルが/usr/local/lib/php.ini
として表示されることです。コマンドラインからスクリプトphpinfo.php
を実行すると、php5.3とロードされた設定ファイルが/etc/php.ini
として表示されます。
デフォルトのPHPインタープリターをphp5.3として有効にするにはどうすればよいですか?
Php 5.3はPDOとpdo_mysql
で構成されているため、5.3が必要です。php5.4が構成されていない場合、php 5.3のzendバージョンは220090626ですが、php5.4のzendバージョンは220090525です。
ブラウザからPHPスクリプトを実行しようとすると、php 5.4(PDO拡張子がない)でコンパイルされ、未定義のPDOとして致命的なエラーがスローされます。
スクリプト用にphp5.3をロードするようにApacheを設定するにはどうすればよいですか。
phpinfo.php
スクリプトは次のとおりです
<?php
phpinfo();
?>
Php.iniは/ usr/local/libにありますか?それは完全に間違っているので、パッケージマネージャーはそのファイルをそこに置きません。
ホスト上にローカルに構築されたphpのコピーが必要です。 which php
それがどこにあるかを示します。 which -a php
は、$ PATHにあるインストールされているすべてのバージョンのphpを表示します。実行php -v
それぞれについて、バージョンを確認します。
不要なバージョンを削除すると、php5.3が残ります。それらを削除できない場合は、$ PATHを変更して、必要なものが最初に来るようにします。 PATH=/usr/bin:/usr/local/bin
/usr/local/bin/phpの代わりに/ usr/bin/phpが必要な場合。または、シェルエイリアスを定義します。
alias php=/usr/bin/php
php
と入力すると常にそのバージョンが実行されるように、シェルの起動ファイル(〜/ .bashrcまたは〜/ .profile)に配置します。