MySQLサーバーで迷惑メールをセットアップし、localhost DBを使用して問題を実行するPHP Webサイトを取得しようとしています(コードとMySQLはどちらも同じVagrant VMにあります)。しかし、私はSequel Pro経由でセットアップ・アクセスでき、同じユーザーでDBにアクセスして問合せを実行できます。 Webサイトでは、クエリは完了していません。PHP/Vagrant - ホストDBにアクセスするホスト
のMySQL:
mysql> select db,host,user from mysql.db;
+-----+-----------+------+
| db | host | user |
+-----+-----------+------+
| ojs | localhost | ojs |
| ojs | localhost | ojs2 |
| ojs | localhost | root |
+-----+-----------+------+
3 rows in set (0.00 sec)
だから、3ユーザーがDBに割り当てられている - 人生を容易にするために、私はすべての権限がY
たことを確認するroot
を使用。私/etc/mysql/my.cnf
で
私はskip-internal-locking
コメントアウトとbind-address
をコメントアウトするか、私はブラウザ(のようなユーザーを検証)からクエリを実行しようとすると0.0.0.0
に設定するかしようとしました。私は/var/log/mysql/mysql.log
に見て、最後のクエリは次のようになります。クエリが実行されていると私は私のmysql
が接続を行っていることを、確認のよう
160328 23:00:32 127 Connect [email protected] on ojs
127 Query SELECT `User`.`id`, `User`.`email`, `User`.`fname`, `User`.`lname`, `User`.`default_phone`, `User`.`default_ext`, `User`.`password`, `User`.`datecreated_ts`, `User`.`lastlogin_ts`, `User`.`last_deliveryaddress_id`, `User`.`last_billingaddress_id`, `User`.`auth_level`, `User`.`no_radio_email` FROM `User` WHERE `User`.`email` = '[email protected]' AND `User`.`password` = '5f4dcc3b5aa765d61d8327deb882cf99'
127 Quit
だからそれが見えます。
私は2日間試してきました。私は何か根本的なものを見逃しています。誰かが正しい方向に私を向けることができますか?私は、問題はMySQLやベイグラントに関連しているとは思わない
PHPがデータベースの外部にある場合(つまり、プロダクションDBに正常に接続できる場合)、PHPはデータベースに接続します。 PHPのエラーログにはエラーはなく、ダンプクエリはDBを見つけられないかのように 'false'を返し続けます。しかし、私は見ていきます。ありがとう。 – Bardworx
ファイルの書き込みと分割を強くお勧めします。PDOを使用して接続をテストし、テストファイルを渡すクエリに基づいてmysqlのログを確認してください。 クエリの大文字と小文字もチェックしてください。問題があれば、セクション[mysqld]のmy.cnfを修正してください:lower_case_table_names = 2、さらにバインドアドレスを0.0.0.0に設定して 続編proから同じユーザーで同じクエリを実行できるので、権限を与えても問題ありません。 最後に、PHP(dbname、host、port)からの接続を開始する方法を確認してください。がんばろう!私はあなたに多くを助けることができなかったと思います。 –