@eh27 さん、こんにちは。
タイトルに初心者ですとありますが、どの程度の初心者か分からないので、以下簡潔に。
Fatal error: Uncaught mysqli_sql_exception: Table ‘【DB名】.wp_options’ doesn’t exist in
とあるので、テーブルの作成ができていないと考えられます。
phpMyAdmin あるのならテーブルの作成ができているのか確認を。
MySQL ユーザーにテーブルの作成権限があるのかも確認を。
ご参考になれば。
トピック投稿者
eh27
(@eh27)
ありがとうございます!!初心者レベルをお伝えしきれず恐縮です。
「wp_options」ですが、標準のインストールで自動で作成されるものだったりしないのでしょうか?
現在は、Wordpressのインストールで詰まっており、DB接続はできているようなのになぜテーブルが作られないのかが分からずにおります。
通常、http://localhost/(ワードプレスのインストールフォルダ)をたたいて初回のDB名やユーザー情報DBホスト情報などをブラウザで入力すれば、wp-config.phpが作られインストールが進むものと理解しています。
今回は、この各種DB情報を入力後にインストールに進む段階で「このサイトで重大なエラーが発生しました」とだけでてしまい、何で詰まっているかがわからない状況でした。
このため、wp-config.phpを手作成し、この中にDB情報を埋めてhttp://localhost/(ワードプレスのインストールフォルダ)をたたいてみたところのエラーとなります。
XAMPPの再インストール、また何か権限が足りてないのかと思い、DBの権限の見直しやフォルダやファイルへの管理者権限の追加などをやってみたのですが同じいエラーが発生してしまいます・・・。
eh27さん、こんにちは。
MySQLのユーザーはどのように作成されていますでしょうか。
WordPressのインストール時に入力するデータベースのユーザー名でテーブルが作成できる権限がきちんと付与されているか確認してみてください。
ご参考になれば。
トピック投稿者
eh27
(@eh27)
ご返信ありがとうございます!何がダメなのか、端末依存なのか全くわからず困っておりお話し聞いていただけて助かります。
ローカルへのテスト環境の構築であることもあり、ユーザーはrootで実行しています。デフォルトから特にいじらなくても権限は大丈夫なのかなと思っています。一応、create権限があることは確認できています。
Apacheのエラーログを見ると、wp-db.php(1656)で引っかかっていると出ており、やはりDB接続でこけているようでした。
wp-db.php(1656)———–
@mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
DB接続情報———–
DBホスト/ポート:localhost または localhost:3306 または 127.0.0.1 または 127.0.0.1:3306
DBユーザー:root
パスワード:(phpmyadmin)で設定変更したもの
テーブル接頭辞:(wp_デフォのままです)
情報を検索しては試してますがなかなか解決できず、、すみません。何か思いつく調査方法や情報あればご共有ください。
こんにちは
もともとはwp-config.phpが作成されていなかったので作成したとのことですが、wp-config.phpが作成されている状態は、インストールが成功し、データベース側にテーブル類がちゃんと作成された状態となります。
Table '【DB名】.wp_options' doesn't existというエラーが出力されていますが、これは必要なテーブルが存在しないこと知らせています。
データベースが存在しないのにwp-config.phpが作成されている、ということです。
(データベースへの接続はできています)
つまり、wp-config.phpを手動で作成することによって、エラーの内容が当初とは変わってしまっています。
このままでは、手作業でwp-config.phpを作成する前に何が起こって失敗していたのかを知ることができません。
手動で作成したwp-config.phpをリネームするなどして無効にし、再度当初のエラーを発生させてください。
XAMPP 環境のどこかでサーバーのエラーログを確認できると思いますので、そのエラーを確認してください。
トピック投稿者
eh27
(@eh27)
@munyagu さん
ありがとうございます!助かります!!
wp-config.phpを手作成せずに、ブラウザの指示に従ってDB接続情報を入力しインストールする手順に戻すと、以下のエラーがApacheのエラーログでwp-db.phpの1656行目でDB接続にこけているように見えてしまいました・・・。
[Tue Jan 11 17:59:04.715961 2022] [php:error] [pid 10756:tid 1996] [client ::1:57177] PHP Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'root'@'localhost' (using password: YES) in C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php:1656\nStack trace:\n#0 C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php(1656): mysqli_real_connect(Object(mysqli), '127.0.0.1', 'root', '(設定したパスワード)', NULL, '3306', NULL, 0)\n#1 C:\\xampp\\htdocs\\wp-mk\\wp-admin\\setup-config.php(310): wpdb->db_connect()\n#2 {main}\n thrown in C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php on line 1656, referer: http://localhost/wp-mk/wp-admin/setup-config.php?step=1&language=ja
wp-db.php(1656)———–
@mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
他にどんなログ調べたらいいでしょうか?すみません。
eh27さん、こんにちは。
Access denied for user
なので、root ユーザーなのかもしれませんが、適切な権限がありません。
別途ユーザーを作成して権限を付与(grant)する方が適切かと思います。
WordPress のローカル環境が欲しいだけなら、他のツールでもいいとも思いますが…Local by Flywheel とか?
サーバーの勉強をすることが目的のひとつにあるのならば、構築をきっちり行うことから始めてみましょう。
ご参考になれば。
当初のログではデータベースにアクセスできていて、テーブルを探すところまでたどり着いています。
直近のログではデータベースへのアクセスに失敗しています。
mysqli_real_connectで失敗しているので、create権限などではなく、おっしゃるとおり接続時に失敗しています。
ユーザー名と「(設定したパスワード)」が先の wp-config.php に設定したものと同じなのであれば、私には原因が分かりません。
MySQL の設定によっては MySQL側で詳細なログを得られるかもしれませんが、通常は貼っていただいたものと同じものしか出ない気がします。
root ではない他のユーザーを作成して試す、ぐらいしか思いつきません。
すいません。
トピック投稿者
eh27
(@eh27)
@shokun0803 さん @munyagu さん
いろいろとお付き合いくださりありがとうございます!
rootではないユーザーを作り権限もrootなみに付与し試してみましたが、DBには接続できているのにテーブルがないよ、というエラーになってしまいました。。。お手上げです。。
[Wed Jan 12 11:44:31.769663 2022] [php:error] [pid 10756:tid 1960] [client ::1:50980] PHP Fatal error: Uncaught mysqli_sql_exception: Unknown column 'wp_' in 'field list' in C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php:2056\nStack trace:\n#0 C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php(2056): mysqli_query(Object(mysqli), 'SELECT wp_')\n#1 C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php(1945): wpdb->_do_query('SELECT wp_')\n#2 C:\\xampp\\htdocs\\wp-mk\\wp-admin\\setup-config.php(317): wpdb->query('SELECT wp_')\n#3 {main}\n thrown in C:\\xampp\\htdocs\\wp-mk\\wp-includes\\wp-db.php on line 2056, referer: http://localhost/wp-mk/wp-admin/setup-config.php?step=1&language=ja
今回は取り急ぎWordpressのローカル環境が欲しいだけなので、@shokun0803 さんが教えてくださったLocal by Flywheelを試してみたいと思います!このエラー出ている環境は勉強用に残していつか解消できたらいいです・・。
お付き合いくださり、本当にありがとうございました!