質問編集履歴

5

プレビューがおかしかったので修正

2022/08/17 01:53

投稿

unoooon
unoooon

スコア12

test CHANGED
File without changes
test CHANGED
@@ -31,6 +31,7 @@
31
31
  練習していたPHPのバージョン→PHP version: 7.0.1
32
32
  本番環境にしたいPHPのバージョン→PHP のバージョン: 7.4.27
33
33
 
34
+ ①staff_login_check.php
34
35
  <?php
35
36
 
36
37
  try
@@ -88,6 +89,20 @@
88
89
 
89
90
  ?>
90
91
 
92
+ ②connect.php
93
+ <?php
94
+ $dsn = 'mysql:dbname=shop; host=localhost; charset=utf8';
95
+ $usr = 'ユーザー';
96
+ $passwd = 'パスワード';
97
+
98
+ try {
99
+ $db = new PDO($dsn, $usr, $passwd);
100
+ print '接続に成功しました。';
101
+ }catch (PDOException $e) {
102
+ print "接続エラー:{$e->getMessage()}";
103
+ }finally{
104
+ $db = null;
105
+ }
91
106
 
92
107
  ```
93
108
 
@@ -133,21 +148,7 @@
133
148
  タイムアウトするようになった。これは合っている?
134
149
 
135
150
  追記8/17
136
- <?php
137
- $dsn = 'mysql:dbname=shop; host=localhost; charset=utf8';
138
- $usr = 'ユーザー';
139
- $passwd = 'パスワード';
140
-
141
- try {
142
- $db = new PDO($dsn, $usr, $passwd);
143
- print '接続に成功しました。';
144
- }catch (PDOException $e) {
145
- print "接続エラー:{$e->getMessage()}";
146
- }finally{
147
- $db = null;
148
- }
149
-
150
- 上記のphpファイルを同じところに置いて直接URLを叩いて見たところ
151
+ のphpファイルを同じところに置いて直接URLを叩いて見たところ
151
152
  接続に成功しましたと表示された。
152
153
 
153
154
  ちなみにパスワードを空白に変えて間違えたものを用意したら
@@ -163,7 +164,3 @@
163
164
 
164
165
 
165
166
  ### 補足情報(FW/ツールのバージョンなど)
166
- Plesk上ではlocalhostで変更する.envファイルなどがなく、手詰まりです。
167
-
168
- 追記 エラーメッセージを全文載せました。
169
- PDOインスタンス生成で躓いているところまでは特定しましたが…。

4

試した部分を追記してソースコードも追加した

2022/08/17 01:50

投稿

unoooon
unoooon

スコア12

test CHANGED
File without changes
test CHANGED
@@ -44,11 +44,11 @@
44
44
 
45
45
  $staff_pass=md5($staff_pass);
46
46
 
47
- $dsn = 'mysql:dbname=shop;host=localhost;charset=utf8';
47
+ $dsn = 'mysql:dbname=shop; host=localhost; charset=utf8';
48
- $user= 'ユーザー';
48
+ $user = 'ユーザー';
49
49
  $password = 'パスワード';
50
50
  $dbh = new PDO($dsn, $user, $passoword);
51
- $dbh->query('SET NAMES utf8');
51
+ $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
52
52
 
53
53
  $sql = 'SELECT name FROM mst_staff WHERE code=? AND password=?';
54
54
  $stmt = $dbh->prepare($sql);
@@ -75,7 +75,7 @@
75
75
  }
76
76
 
77
77
  }
78
- catch(Exception $e)
78
+ catch(PDOException $e)
79
79
  {
80
80
  print'ただいま障害により大変ご迷惑をお掛けしております。';
81
81
  print '<br />';
@@ -87,6 +87,7 @@
87
87
  }
88
88
 
89
89
  ?>
90
+
90
91
 
91
92
  ```
92
93
 
@@ -120,7 +121,7 @@
120
121
  ・訳→接続が拒否されました
121
122
 
122
123
 
123
- 追記
124
+ 追記8/16
124
125
  ・host=ドメイン:ポート
125
126
  web表示
126
127
  504 Gateway Time-out
@@ -131,6 +132,36 @@
131
132
 
132
133
  タイムアウトするようになった。これは合っている?
133
134
 
135
+ 追記8/17
136
+ <?php
137
+ $dsn = 'mysql:dbname=shop; host=localhost; charset=utf8';
138
+ $usr = 'ユーザー';
139
+ $passwd = 'パスワード';
140
+
141
+ try {
142
+ $db = new PDO($dsn, $usr, $passwd);
143
+ print '接続に成功しました。';
144
+ }catch (PDOException $e) {
145
+ print "接続エラー:{$e->getMessage()}";
146
+ }finally{
147
+ $db = null;
148
+ }
149
+
150
+ 上記のphpファイルを同じところに置いて直接URLを叩いて見たところ
151
+ 接続に成功しましたと表示された。
152
+
153
+ ちなみにパスワードを空白に変えて間違えたものを用意したら
154
+ using password:NO
155
+ まで正しく表示された。
156
+
157
+ なので問題のプログラムも host = localhost に変更
158
+ 出てきたエラーは
159
+
160
+ ただいま障害により大変ご迷惑をお掛けしております。
161
+ PDOException: SQLSTATE[HY000] [1045] Access denied for user 'ユーザー'@'localhost' (using password: NO) in /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php:17 Stack trace: #0 /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php(17): PDO->__construct('mysql:dbname=sh...', 'ユーザー', NULL) #1 {main}
162
+ SQLSTATE[HY000] [1045] Access denied for user 'ユーザー'@'localhost' (using password: NO)
163
+
164
+
134
165
  ### 補足情報(FW/ツールのバージョンなど)
135
166
  Plesk上ではlocalhostで変更する.envファイルなどがなく、手詰まりです。
136
167
 

3

試したことの追記

2022/08/16 08:12

投稿

unoooon
unoooon

スコア12

test CHANGED
File without changes
test CHANGED
@@ -121,9 +121,13 @@
121
121
 
122
122
 
123
123
  追記
124
- ・host=localhost:○○○○ (Pleskから見てドメインの後ろについてる4桁)
124
+ ・host=ドメイン:ポート
125
+ web表示
125
126
  504 Gateway Time-out
126
127
  nginx
128
+
129
+ Pleskから見たエラーログ 
130
+ upstream timed out (110: Connection timed out) while reading response header from upstream
127
131
 
128
132
  タイムアウトするようになった。これは合っている?
129
133
 

2

試したことを追記

2022/08/16 02:28

投稿

unoooon
unoooon

スコア12

test CHANGED
File without changes
test CHANGED
@@ -17,6 +17,11 @@
17
17
  ただいま障害により大変ご迷惑をお掛けしております。
18
18
  PDOException: SQLSTATE[HY000] [2002] Connection refused in /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php:17 Stack trace: #0 /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php(17): PDO->__construct() #1 {main}
19
19
  SQLSTATE[HY000] [2002] Connection refused
20
+
21
+ or
22
+
23
+ 504 Gateway Time-out
24
+ nginx
20
25
 
21
26
  ```
22
27
 
@@ -114,6 +119,14 @@
114
119
 
115
120
  ・訳→接続が拒否されました
116
121
 
122
+
123
+ 追記
124
+ ・host=localhost:○○○○ (Pleskから見てドメインの後ろについてる4桁)
125
+ 504 Gateway Time-out
126
+ nginx
127
+
128
+ タイムアウトするようになった。これは合っている?
129
+
117
130
  ### 補足情報(FW/ツールのバージョンなど)
118
131
  Plesk上ではlocalhostで変更する.envファイルなどがなく、手詰まりです。
119
132
 

1

エラーメッセージを全文載せました。PDOインスタンス生成で躓いているところまでは特定しましたが…。

2022/08/16 00:47

投稿

unoooon
unoooon

スコア12

test CHANGED
File without changes
test CHANGED
@@ -9,14 +9,13 @@
9
9
 
10
10
  ```
11
11
  ただいま障害により大変ご迷惑をお掛けしております。
12
-
13
- SQLSTATE[HY000] [1045] Access denied for user
14
- using password: NO
12
+ PDOException: SQLSTATE[HY000] [1045] Access denied for user 'ユーザー名'@'localhost' (using password: NO) in /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php:17 Stack trace: #0 /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php(17): PDO->__construct() #1 {main}
13
+ SQLSTATE[HY000] [1045] Access denied for user 'ユーザー名'@'localhost' (using password: NO)
15
14
 
16
15
  or
17
16
 
18
17
  ただいま障害により大変ご迷惑をお掛けしております。
19
-
18
+ PDOException: SQLSTATE[HY000] [2002] Connection refused in /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php:17 Stack trace: #0 /var/www/vhosts/ドメイン/サブドメイン/staff_login_check.php(17): PDO->__construct() #1 {main}
20
19
  SQLSTATE[HY000] [2002] Connection refused
21
20
 
22
21
  ```
@@ -117,3 +116,6 @@
117
116
 
118
117
  ### 補足情報(FW/ツールのバージョンなど)
119
118
  Plesk上ではlocalhostで変更する.envファイルなどがなく、手詰まりです。
119
+
120
+ 追記 エラーメッセージを全文載せました。
121
+ PDOインスタンス生成で躓いているところまでは特定しましたが…。