前回の記事の続き。
php8をインストールして、無事Apachを起動できて、localhostにもつながったが、phpMyAdminにつながらない。
Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl
最初に出たエラーは、
Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl
これについては、
php.iniの拡張機能の部分が有効になっていないか、本当にインストールされていないかである。
自分の場合、そもそもphp.iniが読み込めていなかったのが原因だったので、まずはphp.iniのパスをhttpd-xampp.confで確認すべき。
php8からは php_moduleとしないといけない。
自分はその前に以下を行ったので、opensslは有効になったようだ。
phpmyadminのところで、composer updateを実行した。
特にcomposer.jsonを変更したわけでも、何かパッケージをインストールしたわけではないが、とりあえずパッケージを更新した。
mysqli拡張がありません phpの設定をチェックしてみてください
そして、タイトルにある
mysqli拡張がありません phpの設定をチェックしてみてください
と言うエラーが出た。
php.iniの拡張機能もコメントアウトを外して有効になっている。
当然、ext配下にdllファイルもある。
info.phpを見ても、mysqliもpdo-mysqlもPDOも項目は表示されている。
php -mで mysqli, openssl のモジュールも表示されている。
もう、mysqliのパッケージをインストールするしかないのか?
LinuxやMacならyumコマンドでインストールできるようだが、
windowsにはないので、chocolatryをインストールした。
composerをインストールするときに、インストールするか聞かれるが、いれなかった。いれておけば良かった。
しかし、chocolatoryのパッケージにphp-mysqlと言うパッケージは見つからなかった。mysqlと書いてあるものはたくさんヒットするが。。。。
choco installも諦めて、
install-Module php-mysqli
ともやって見たが、使用しているOSが古かったので、
NuGetでTLSを更新しなければならないようなことを言われたので、怖いのでやめた。
何度か、php.iniを書き換えて、xamppを再起動などしているうちに、
error during session start; please check your php and/or webserver log file and configure your php installation properly. also ensure that cookies are enabled in your browser.
と言うエラーに変わった。
最終的には何が良かったのか?
extension=mysqli
としていたが、
extension=php_mysqli.php
とした。
これが良かったのかわからないが、mysqliと言うエラーは消えた。
もしくは、xamppを再起動しただけでは、読み込まれないのか、セッションやキャッシュの影響か、よくわからない。
error during session start; please check your php and/or webserver log file and configure your php installation properly.
次にセッションの書き込みに失敗したと言うエラーが出たが、
これは、php.iniの
session.save_pathのパスが間違っていた。
デフォルトでは、/tmp となっていて phpフォルダ直下のtmpフォルダを示している。
自分は今まで使用していた、C:\xampp\tmpに変えた。
これで無事myadminに接続できた。
他には、書き込み権限を修正すると良いと書かれているが、
まずはpathを確認すべき。
「phpMyAdminに接続できない mysqli拡張がありません windows」への1件のフィードバック
コメントは受け付けていません。