クラスの1つのファイナル用にphpファイルを表示するようにAmazonサーバーをセットアップしようとしています。 このチュートリアル に従って設定しましたが、コードを実行しようとすると、「致命的なエラー:クラス 'PDO'が見つかりません」というメッセージが表示されます。
Sudo yum install php-pdo
を実行しようとしましたが、Error: php56-common conflicts with php-common-5.3.29-1.8.amzn1.x86_64
というエラーが発生します。php.iniファイルを変更するようにというメッセージをいくつか読みましたが、その方法がわかりません。
また、mysql_connect
commandを使用してこれを試しましたが、同様のエラーが発生します。
編集:php5.3を削除しようとしましたが、インストールされていないと表示されるため、php *を削除してphp56をインストールしましたが、以前にインストールしようとしたときと同じものが表示されます。補足として、サーバー上でコードを実行する簡単な方法がある場合は、Amazonインスタンス上にある必要はありません。
これは私にも起こります。問題は、Amazonが古いバージョンのphp/mysqlをインストールしようとしているということです。インストールする必要のあるバージョンを指定する必要があります。 php 5.6用のphp-mysqlをインストールするには、このコマンドを発行します。 Sudo yum -y install php56-mysqlnd
必要に応じて、古いバージョンをインストールできます。
まず、PHPがどのようにコンパイルされているかを確認し、そこに新しい.phpファイルを作成します。
<?php echo phpinfo(); ?>
そのファイルをブラウザで実行すると、上部にPHPが '--enable-pdo = shared'、 '-with-pdo-mysql = sharedのようなフラグでコンパイルされたかどうかがわかります'、' --with-pdo-sqlite = shared '
コンパイルされている場合は、php.iniファイルで有効にする必要があります。そのファイルがどこにあるかを見つけることができます:
find / -name 'php.ini'
そのファイルを次のように編集します。
vi /path/to/that/php.ini
次に、次のものが含まれていることを確認します。
extension=pdo.so
extension=pdo_mysql.so
この変更を有効にするには、webserver/phpを再起動することを忘れないでください。