PHPをインストールして実行中(バージョン:5.3.17)で、mysqlndに切り替えたい(phpinfoではmysqlndはまったく存在しない)。
設定するには、./configure
コマンドを更新する必要があることを読みました。
./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
yum install php-mysqlnd
でインストールしようとすると、エラーが発生します。
---> Package php-mysqlnd.x86_64 0:5.3.17-1.26.amzn1 will be installed
--> Processing Conflict: php-mysql-5.3.17-1.26.amzn1.x86_64 conflicts php-mysqlnd
--> Finished Dependency Resolution
Error: php-mysql conflicts with php-mysqlnd
./configure
コマンドは、ソースコードからのコンパイルプロセスの一部です。
ソースからコンパイルするか、パッケージマネージャー経由でインストールできます。あなたの場合、パッケージマネージャーが望ましいと思います。
パッケージマネージャーからの苦情により、両方を使用することはできませんphp-mysql
およびphp-mysqlnd
インストール済み。
だからあなたはできる
yum remove php-mysql
前
yum install php-mysqlnd
次に、成功を確認します
php -m | grep mysqlnd
または
php -i | grep mysqlnd
yum swap php-mysql php-mysqlnd
yum install php-mysqlnd
はCentALTでのみ利用でき、おそらくレミレポジトリがあります。 Webtaticには、優れたphpリポジトリもあります。デフォルトのものではありません(私はCentOSを使用していました)。
私はこれに遅れるかもしれませんが、他の人の助けになるかもしれません。フォーラムの別の場所ですでに述べたように、get_resultのような関数の呼び出しが未定義であると不平を言う場合、php-mysqlndをインストールする必要があります(この質問)。 yum install(centos)を実行すると、php-mysqlとphpmyadminを削除する必要があることが自動的に報告されることに気付きました。 phpmyadminが動作しない可能性があるため、これを受け入れないでください。代わりに、yum Shellを使用します。これは、コマンドを一度に受け取り、変更を適切に処理します。コマンドラインでこれらを実行します。
# yum Shell
> remove php-mysql
> install php-mysqlnd
> run
> quit
ここで、mariadb(ほとんどの場合)サービスとhttpdサービスの両方を再起動する必要があります。
PHP 5.4の時点で、mysqlndライブラリはphp.netコンパイル時のデフォルトですべてPHP MySQL拡張機能です。-参照: dev.mysql .com
Linux 1.8.1のXAMPP (PHP 5.4.7)が付属している場合は、ソースからコンパイルするのが少し簡単になります。
私があなたを正しく理解しているかどうかわからない.... phpのソース(php-5.x.x.tar.gz)をダウンロードし、ソースを解凍してそのディレクトリに移動するだけです
bash:/dir/of/your/source # ./configure --with-mysql=... and your other config params
その後でちょうどそれを作る
bash:/dir/of/your/source # Sudo make && make install