PHP Velho Oeste 2024

インストール手順

mysqli 拡張モジュールが使えるようになったのは PHP バージョン 5.0.0 以降です。また、MySQL Native Driver が PHP に含まれるようになったのはバージョン 5.3.0 以降です。

Linux でのインストール

一般的な Unix ディストリビューションには、バイナリ版の PHP がインストールされています。 これらのバイナリ版は、通常は MySQL 拡張モジュールに対応したものになっています。 しかし、拡張モジュールライブラリ自身を別パッケージでインストールする必要があるでしょう。 使用しているディストリビューションのパッケージマネージャで確認してみましょう。

たとえば Ubuntu なら、php5-mysql パッケージをインストールすれば、 ext/mysql、ext/mysqli、そして pdo_mysql をインストールできます。CentOS の場合は php-mysql パッケージを使えば、同じものをインストールできます。

この拡張モジュールを自分でコンパイルすることもできます。 PHP をソースからビルドすれば、使いたい MySQL 拡張モジュールを指定したり 各拡張モジュールが使用するクライアントライブラリを選択したりすることができます。

クライアントライブラリには MySQL Native Driver を使うことを推奨します。 そのほうがパフォーマンスが向上し、MySQL Client Library を使用した場合には使えない機能も使用することができます。 PHP の MySQL Native Driver とは? に、MySQL Native Driver の利点が簡単にまとめられています。

/path/to/mysql_config は、MySQL Server に含まれる mysql_config プログラムの場所を表します。

mysqli のコンパイル時のサポート表
PHP バージョン デフォルト 設定オプション: mysqlnd 設定オプション: libmysqlclient 変更履歴
5.4.x 以降 mysqlnd --with-mysqli --with-mysqli=/path/to/mysql_config mysqlnd がデフォルトになりました。
5.3.x libmysqlclient --with-mysqli=mysqlnd --with-mysqli=/path/to/mysql_config mysqlnd が使えるようになりました。
5.0.x, 5.1.x, 5.2.x libmysqlclient 利用できません --with-mysqli=/path/to/mysql_config mysqlnd は使えません。

MySQL 拡張モジュールとクライアントライブラリの組み合わせは自由であることに注意しましょう。 たとえば、MySQL 拡張モジュールは MySQL Client Library (libmysqlclient) を使うようにして有効にし、 一方 mysqli 拡張モジュールは MySQL Native Driver を使うようにするということも可能です。 しかし、それ以外にも拡張モジュールとクライアントライブラリのすべての組み合わせが使用可能です。

Windows システムでのインストール

Windows の場合、php_mysqli.dllphp.ini で有効にする必要があります。

その他の PHP 拡張モジュール (php_mysqli.dll など) を有効にするときと同様、PHP のディレクティブ extension_dir を設定して PHP 拡張モジュールのある場所を指定する必要があります。 Windows での手動インストールの手順 も参照ください。 extension_dir の値は、たとえば c:\php\ext のようになります。

注意:

ウェブサーバーの起動時に "Unable to load dynamic library './php_mysqli.dll'" のようなエラーが出たら、それは php_mysqli.dll をシステムが見つけられないことが原因です。

add a note add a note

User Contributed Notes 3 notes

up
-2
David dot Kit dot Friedman at gmail dot com
14 years ago
>On Windows, PHP is most commonly installed using the binary installer. Once PHP has been installed, some >configuration is required to enable mysqli and specify the client library you want it to use.

Basically, if you want to add extensions you can double-click again on the installer file. The installer will find the already installed PHP and will ask if you want to change the installation.

When you go through the prompts it will take you back to the list of extensions and you can pick which extensions you want to add.

For the mysqli extension the installer also edited php.ini so that the extension was enabled:

[PHP_MYSQLI]
extension=php_mysqli.dll

the installer added those lines to the end of the file.
up
-24
Mark F
13 years ago
Just to note with regards to SSL and compression. MySQLnd and thus extensions using mysqlnd such as mysqli... now supports SSL and compression. Both have been supported inside mysqlnd since PHP 5.3.3 - http://www.php.net/manual/en/mysqlnd.overview.php
up
-42
bansi
4 years ago
In Windows 10 if mysqli is not working in PHP 7.3 you should add PHP directory to the PATH and restart your web server. This behavior was not there in PHP 7.0.27.
To Top