質問編集履歴
3
今回のエラーの解決を修正してみた。
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,60 +33,4 @@
|
|
33
33
|
|
34
34
|
EC2を立ち上げたから治ったのかPHPを新しく7.2で導入したから解決したのかは原因不明です。
|
35
35
|
php7.2はここを参考にして導入してみました。
|
36
|
-
https://qiita.com/snowdog/items/121ad82fcbcd17eac779
|
36
|
+
https://qiita.com/snowdog/items/121ad82fcbcd17eac779
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
その後、php artisan route:cacheを実行してみたら今度は下記の様なエラーに陥りました。
|
41
|
-
|
42
|
-
```ここに言語を入力
|
43
|
-
$ php artisan route:cache
|
44
|
-
PHP Fatal error: Class 'PDO' not found in /var/www/html/tree2/origin/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 1262
|
45
|
-
|
46
|
-
In Connection.php line 1262:
|
47
|
-
|
48
|
-
Class 'PDO' not found
|
49
|
-
```
|
50
|
-
|
51
|
-
やってみた解決策
|
52
|
-
|
53
|
-
実行したコマンド
|
54
|
-
$yum install php72-php-mysqlnd php72-php-mbstring php72-php-gd
|
55
|
-
$yum install php72-php-dom
|
56
|
-
|
57
|
-
|
58
|
-
composer updateをしたら容量足りないと言われましたので下記も実行
|
59
|
-
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
|
60
|
-
$ sudo /sbin/mkswap /var/swap.1
|
61
|
-
$ sudo /sbin/swapon /var/swap.1
|
62
|
-
|
63
|
-
するとエラー内容が変わりました。
|
64
|
-
|
65
|
-
###エラー内容追記
|
66
|
-
```
|
67
|
-
$ php artisan route:cache
|
68
|
-
Route cache cleared!
|
69
|
-
|
70
|
-
LogicException : Unable to prepare route [api/user] for serialization. Uses Closure.
|
71
|
-
|
72
|
-
at /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Routing/Route.php:917
|
73
|
-
913| */
|
74
|
-
914| public function prepareForSerialization()
|
75
|
-
915| {
|
76
|
-
916| if ($this->action['uses'] instanceof Closure) {
|
77
|
-
> 917| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
|
78
|
-
918| }
|
79
|
-
919|
|
80
|
-
920| $this->compileRoute();
|
81
|
-
921|
|
82
|
-
|
83
|
-
Exception trace:
|
84
|
-
|
85
|
-
1 Illuminate\Routing\Route::prepareForSerialization()
|
86
|
-
/var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php:62
|
87
|
-
|
88
|
-
2 Illuminate\Foundation\Console\RouteCacheCommand::handle()
|
89
|
-
/var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
|
90
|
-
|
91
|
-
Please use the argument -v to see more details.
|
92
|
-
```
|
2
表題のエラーの解決までの道筋を追記してみた
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,4 +23,70 @@
|
|
23
23
|
autoload.php composer monolog
|
24
24
|
|
25
25
|
### やってみた
|
26
|
-
composer update --no-scripts実行後にphp artisan route:cacheをしてもエラー内容は変わっていませんでした。
|
26
|
+
composer update --no-scripts実行後にphp artisan route:cacheをしてもエラー内容は変わっていませんでした。
|
27
|
+
|
28
|
+
|
29
|
+
###追記してみた
|
30
|
+
|
31
|
+
phpのバージョンが5.4から7.2にインストールしましたがEC2を再度立ち上げてphpのバージョンを7.2をインストールしたら今回の表題のエラーは消えました。
|
32
|
+
|
33
|
+
|
34
|
+
EC2を立ち上げたから治ったのかPHPを新しく7.2で導入したから解決したのかは原因不明です。
|
35
|
+
php7.2はここを参考にして導入してみました。
|
36
|
+
https://qiita.com/snowdog/items/121ad82fcbcd17eac779
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
その後、php artisan route:cacheを実行してみたら今度は下記の様なエラーに陥りました。
|
41
|
+
|
42
|
+
```ここに言語を入力
|
43
|
+
$ php artisan route:cache
|
44
|
+
PHP Fatal error: Class 'PDO' not found in /var/www/html/tree2/origin/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 1262
|
45
|
+
|
46
|
+
In Connection.php line 1262:
|
47
|
+
|
48
|
+
Class 'PDO' not found
|
49
|
+
```
|
50
|
+
|
51
|
+
やってみた解決策
|
52
|
+
|
53
|
+
実行したコマンド
|
54
|
+
$yum install php72-php-mysqlnd php72-php-mbstring php72-php-gd
|
55
|
+
$yum install php72-php-dom
|
56
|
+
|
57
|
+
|
58
|
+
composer updateをしたら容量足りないと言われましたので下記も実行
|
59
|
+
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
|
60
|
+
$ sudo /sbin/mkswap /var/swap.1
|
61
|
+
$ sudo /sbin/swapon /var/swap.1
|
62
|
+
|
63
|
+
するとエラー内容が変わりました。
|
64
|
+
|
65
|
+
###エラー内容追記
|
66
|
+
```
|
67
|
+
$ php artisan route:cache
|
68
|
+
Route cache cleared!
|
69
|
+
|
70
|
+
LogicException : Unable to prepare route [api/user] for serialization. Uses Closure.
|
71
|
+
|
72
|
+
at /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Routing/Route.php:917
|
73
|
+
913| */
|
74
|
+
914| public function prepareForSerialization()
|
75
|
+
915| {
|
76
|
+
916| if ($this->action['uses'] instanceof Closure) {
|
77
|
+
> 917| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
|
78
|
+
918| }
|
79
|
+
919|
|
80
|
+
920| $this->compileRoute();
|
81
|
+
921|
|
82
|
+
|
83
|
+
Exception trace:
|
84
|
+
|
85
|
+
1 Illuminate\Routing\Route::prepareForSerialization()
|
86
|
+
/var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php:62
|
87
|
+
|
88
|
+
2 Illuminate\Foundation\Console\RouteCacheCommand::handle()
|
89
|
+
/var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
|
90
|
+
|
91
|
+
Please use the argument -v to see more details.
|
92
|
+
```
|
1
誤字を直してみた
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
php artisan route:cacheとphp artisan config:cacheを行うとエラーとなってしまい先に進むことが出来ません。
|
2
2
|
なぜエラーになってしまいますか?
|
3
|
+
### ちなみに環境はこちらです。
|
4
|
+
phpバージョン7.2
|
5
|
+
composerバージョン1.9.2
|
6
|
+
git cloneを使いlaravelのプロジェクトを導入しました。
|
3
7
|
|
4
|
-
|
5
8
|
### エラー内容
|
6
9
|
```
|
7
10
|
$ php artisan route:cache
|
@@ -12,12 +15,9 @@
|
|
12
15
|
thrown in /var/www/html/tree2/laravel/bootstrap/app.php on line 14
|
13
16
|
```
|
14
17
|
|
15
|
-
### ちなみに環境はこちらです。
|
16
|
-
phpバージョン7.2
|
17
|
-
composerバージョン1.9.2
|
18
|
-
git cloneを使いlaravelのプロジェクトを導入しました。
|
19
18
|
|
19
|
+
|
20
|
-
#laravelプロジェクト内のvendorの中身はこんのような形でした。
|
20
|
+
###laravelプロジェクト内のvendorの中身はこんのような形でした。
|
21
21
|
$ cd vendor
|
22
22
|
[ec2-user@ip-172-31-1-146 vendor]$ ls
|
23
23
|
autoload.php composer monolog
|