回答編集履歴
3
解決したのでまとめます
answer
CHANGED
@@ -16,4 +16,14 @@
|
|
16
16
|
$exception->getMessage()
|
17
17
|
));
|
18
18
|
}
|
19
|
-
```
|
19
|
+
```
|
20
|
+
|
21
|
+
------
|
22
|
+
|
23
|
+
まとめ
|
24
|
+
|
25
|
+
- mysqlは正常に起動してて、mysqlコマンドで接続可能
|
26
|
+
- $dsnの値は`"mysql:host=localhost;dbname=mydata"`
|
27
|
+
- 接続先を`127.0.0.1`に変更すると問題を回避できた
|
28
|
+
|
29
|
+
接続先が`localhost`のときはどこかにある`php.ini`に設定されている`pdo_mysql.default_socket`の値を用いてunix socket接続を行うらしく、この設定値が実環境と異なっていたものと考えられます。
|
2
微修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
mysqlが起動してないと思われます。
|
1
|
+
~~mysqlが起動してないと思われます。~~
|
2
2
|
|
3
3
|
-----
|
4
4
|
|
1
追記: $dsn確認用のコード改変です。
answer
CHANGED
@@ -1,1 +1,19 @@
|
|
1
|
-
mysqlが起動してないと思われます。
|
1
|
+
mysqlが起動してないと思われます。
|
2
|
+
|
3
|
+
-----
|
4
|
+
|
5
|
+
追記: $dsn確認用のコード改変です。
|
6
|
+
エラー発生箇所である vendor/robmorgan/phinx/src/Phinx/Db/Adapter/MysqlAdapter.php の 121行目付近を次のように編集するとエラーメッセージに$dsnの内容が出力されるようになるので、そのエラーメッセージを教えてください。
|
7
|
+
vendor以下のファイルは通常編集しないので、あとで忘れずに元に戻しておいてください。
|
8
|
+
|
9
|
+
```
|
10
|
+
try {
|
11
|
+
$db = new \PDO($dsn, $options['user'], $options['pass'], $driverOptions);
|
12
|
+
} catch (\PDOException $exception) {
|
13
|
+
throw new \InvalidArgumentException(sprintf(
|
14
|
+
'($dsn = "%s") There was a problem connecting to the database: %s', // ここと
|
15
|
+
$dsn, // ここを変えます
|
16
|
+
$exception->getMessage()
|
17
|
+
));
|
18
|
+
}
|
19
|
+
```
|