
既存の LAMP インストールに新しい PDO ドライバーをインストールするにはどうすればよいですか?
私は Amazon Linux (AWS EC2 上) を使用しており、Amazon リポジトリから PHP 5.5 と MySql をインストールしました。確認すると、phpinfo
PDO が PDO_SqlLite とともに正常にインストールされていることがわかります。PDO_MySql を追加する必要があります。
私が読んだ内容によると、PDO_MySql を含めて PHP を再コンパイルするか、リポジトリからダウンロードすることができます。最初のオプションは大変な作業のように思えますし、非常に面倒になる可能性があります。2 番目のオプションは良いと思いますが、私が見る限り、Amazon Linux yum リポジトリには PHP 5.5 用の PDO_MySql ドライバーは含まれていません。(yum は初めてなので、間違っているかもしれません)。
他にどのようなオプションがありますか? どこかから .so ファイルをダウンロードし、それを他の .so ファイルと一緒に置き、php.ini で呼び出すとどうなるでしょうか?
AMI 2013.09を使用しています。
更新: このpeclリンク、http://pecl.php.net/package/PDO_MYSQLによると、PDO_MySql は PHP ソースに移動されたとのことです。それを有効にするだけの問題なのでしょうか?
答え1
私は EC2 を使ったことがありませんが、基本的な LAMP コンポーネントである php-mysql が含まれていないとしたら驚きです。sudo yum install php-mysql
あなたにとってはうまくいきますか?
そうでない場合は、yum にいくつかの重要なリポジトリが欠けているため、それらを追加するのが最善の選択です。私はそれについてあまり詳しくありませんが、ここにいる他の誰かが助けてくれると確信しています。
はい、別のホストからファイルをコピーするだけでかまいません。ただし、そのホストが自分のホストと同じアーキテクチャ (実行して確認) でありarch
、自分のホストに存在するライブラリ バージョンにリンクされている必要があります (おそらくその通りです)。必要なファイルは次のとおりです。
$ rpm -q php-mysql -l
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/pdo_mysql.so
しかし、一般的には、ホストのパッケージ マネージャーを使用してこれらのファイルをインストールし、最新の状態に維持する方がはるかに良いでしょう。php-mysql にはインストール スクリプトはないと思いますが、他の多くのパッケージにはインストール スクリプトがあり、それらのスクリプト内のファイルをコピーするだけでは実行されません。
pdo_mysql は PHP ソースの一部ですが、ディストリビューションではメインの PHP パッケージとは別のパッケージに分割されます。