PHP 7でmysqliを有効にする方法は?
最新バージョンのApache(Apache 2.4)、最新バージョンのPHP(PHP7)、および最新バージョンのMySQLを使用しています(バージョンはわかりませんが、WorkBenchバージョン6.3を使用しています)。以前、PHPがこのコード行 <?php phpinfo(); ?>
で機能しているかどうかを確認すると、MySQL/mysqliがインストールされて準備ができていることがわかりました。しかし、PHP7ではmysqlndが表示されます。
mysqliコマンドを使用して、 mysqli_ping()
でデータベースに接続できるかどうかを確認し、server、user、passを使用してデータベースに接続してみました。クラスmysqliが見つからないなどのエラーが発生し続けます。または未定義の関数mysqli_ping()を呼び出します。ネットでいくつかの答えを検索してみましたが、MySQLをインストールする必要があることがわかりました(ただし、一部のサイトでは非推奨とされています)。
PHP7用のmysqliを入手できますか?または、mysqlndを使用しますか? mysqlndとは何ですか? MySQL / mysqliの新しいバージョンですか?
答え :
解決策:
アップデート2020
Windows 10ユーザーの場合、Windowsサブシステムforlinux (WSL 2)を強くお勧めし、そこでサーバーをセットアップします。
Windows環境でphpおよびmysqlアクセスが必要な場合、最速の方法はWampserverをインストールすることです。コンソールからphpにアクセスする必要がある場合は、phpの場所( C:\wamp64\bin\php\php7.4.11
など)を環境変数に追加します。
それが適切でなく、システムで常に完全なセットアップを有効にする必要がある場合は、chocoを使用してインストールしてください。
Apacheで正しく動作し、必要なすべての拡張機能(php_mysqliを含む)をロードするには、 ThreadSafe バージョンのPHPが必要です。したがって、正しいバージョンをダウンロードするか、< a> Chocolatey を使用してWindowsアプリケーションを管理し、次のコマンドを使用してphpをインストールします。
choco install php --package-parameters='"/ThreadSafe "'.
これにより、phpが C:\ tools \ php72 ディレクトリにインストールされますが、別のパラメータで上書きできます:
choco install php --package-parameters='"/ThreadSafe ""/InstallDir:C:\PHP"""'.
答え :
解決策:
mysqlnd拡張機能はPHPの一部です。これは、libmysqlclientをバンドルする代わりに開発されました。これは、そのライブラリにライセンス条件があり、PHPにバンドルするのが面倒だったためです。
mysqlndを直接使用することはありません。これは、MySQLサーバーと通信する手段としてmysqliおよびpdo_mysqlによって使用される内部ライブラリです。
mysqliに関しては、はい、PHP 7で使用できます。私はWindowsを使用していませんが、すべての拡張機能がデフォルトで有効になっているわけではないようです。
おそらくphp.iniを編集して、行のコメントを解除する必要があります
extension=ext_mysqli.dll
またはその拡張機能の場合は何でも。すでにファイルに含まれている可能性がありますが、コメントアウトされています。ぜひご覧ください。
答え :
解決策:
システムパスの環境変数にPHPインストールディレクトリが含まれているかどうかを確認します。これは、PHP 7.1 / Apache 2.4 / WindowsServer2016でうまくいきました。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。