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