phpMyAdmin を 5.1 から 5.2 にアップグレードした後、サーバーに接続できない

phpMyAdmin を 5.1 から 5.2 にアップグレードした後、サーバーに接続できない

適切な StackExchange フォーラムに投稿するかどうかわかりません。そうでない場合は、お知らせください。

作業環境:

  • OpenSUSE リープ 15.4
  • MariaDB : mariadb Ver 15.1 ディストリビューション 10.7.7-MariaDB
  • PHP 8.0.25 (cli) (ビルド: 2022 年 10 月 31 日 12:00:00) ( NTS )

phpinfo() に基づくと、PHP ini ファイルは次のようになります/etc/php8/cli/php.ini

phpMyAdmin 5.1は正常に動作していますインストールディレクトリは: /usr/share/phpMyAdmin(インストール時に作成されるデフォルトのディレクトリ)経由 zypper install phpMyAdminコマンド)ファイル$cfg['Servers'][$i]['host']の「famous」オプションが に設定されています(そして、動作します)。/etc/phpMyAdmin/config.inc.phplocalhost

次に、phpMyAdmin のバージョンを次のようにアップグレードしました。

srv-bla:~ # mv /usr/share/phpMyAdmin /usr/share/phpMyAdmin.old
srv-bla:~ # mkdir /usr/share/phpMyAdmin
srv-bla:~ # wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # tar -xzf phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # mv phpMyAdmin-5.2.0-all-languages/* /usr/share/phpMyAdmin/

次にデーモンを再起動して接続をテストします。 srv-bla:~ # systemctl restart mysqld mariadb apache2

接続ページは正しく表示されます。次に資格情報を入力すると、この厄介なメッセージが表示されます。

サーバーに接続できません。mysqli::real_connect(): (HY000/2002): そのようなファイルまたはディレクトリはありません

私はしばらくの間、数多くのウェブページをさまよっていました。その多くは、config.inc.phpファイルを変更し、$cfg['Servers'][$i]['host']オプションを127.0.0.1ではなくに設定することを提案していますlocalhost。残念ながら、これで問題は解決しません...

正しいconfig.inc.phpファイルを編集していますか? 実際、サーバー上で見つかるファイルは 1 つだけです。

srv-bla:~ # updatedb
srv-bla:~ # locate config.inc.php
/etc/phpMyAdmin/config.inc.php
/etc/phpMyAdmin/config.inc.php.rpmnew
/etc/phpMyAdmin/config.inc.php.rpmsave

Apache ログも分かりにくいです。アクセス ログは 200 コードのみを返しますが、これは正常なようです (phpMyAdmin Web ページは適切に提供されています)。エラー ログは空です...Mysql ログも空です ( /var/log/mysql/mysqld.log)。

もちろん、mysqldサービス (サービスと同じmariadb) が実行されていることを確認しました。

ご協力やご意見をいただければ幸いです。


編集

MariaDB の観点から見たソケット ファイルは次のとおりです。

srv-bla:~ # mariadb -u root -p
Enter password:
MariaDB [(none)]> \s
[...]
UNIX socket: /var/lib/mysql/mysql.sock
[...]

php.ini ファイルも同様に設定されています。

srv-bla:~ # cat /etc/php8/cli/php.ini | grep mysqli.default_socket
mysqli.default_socket = /var/lib/mysql/mysql.sock

私にとっては、ソケットの問題はありません...

答え1

私にとっての解決策:

php -r 'phpinfo();'ターミナルのコマンドによって返される PHP 設定ファイルは です/etc/php8/cli/php.ini

PHP設定ファイルは、phpinfo()次のようなURLで呼び出される関数翻訳元:/etc/php8/apache2/php.ini

この他の構成ファイルの行を変更しmysqli.default_socket = /var/lib/mysql/mysql.sock、phpMyAdmin を再度呼び出すことができました。ブラウザ キャッシュを空にする必要があることに注意してください。

ご協力ありがとうございます。これが他の人の助けになることを願っています。

関連情報