質問編集履歴

3

今回のエラーの解決を修正してみた。

2020/02/22 13:53

投稿

sirakawa
sirakawa

スコア20

test CHANGED
File without changes
test CHANGED
@@ -69,115 +69,3 @@
69
69
  php7.2はここを参考にして導入してみました。
70
70
 
71
71
  https://qiita.com/snowdog/items/121ad82fcbcd17eac779
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- その後、php artisan route:cacheを実行してみたら今度は下記の様なエラーに陥りました。
80
-
81
-
82
-
83
- ```ここに言語を入力
84
-
85
- $ php artisan route:cache
86
-
87
- PHP Fatal error: Class 'PDO' not found in /var/www/html/tree2/origin/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 1262
88
-
89
-
90
-
91
- In Connection.php line 1262:
92
-
93
-
94
-
95
- Class 'PDO' not found
96
-
97
- ```
98
-
99
-
100
-
101
- やってみた解決策
102
-
103
-
104
-
105
- 実行したコマンド
106
-
107
- $yum install php72-php-mysqlnd php72-php-mbstring php72-php-gd
108
-
109
- $yum install php72-php-dom
110
-
111
-
112
-
113
-
114
-
115
- composer updateをしたら容量足りないと言われましたので下記も実行
116
-
117
- $ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
118
-
119
- $ sudo /sbin/mkswap /var/swap.1
120
-
121
- $ sudo /sbin/swapon /var/swap.1
122
-
123
-
124
-
125
- するとエラー内容が変わりました。
126
-
127
-
128
-
129
- ###エラー内容追記
130
-
131
- ```
132
-
133
- $ php artisan route:cache
134
-
135
- Route cache cleared!
136
-
137
-
138
-
139
- LogicException : Unable to prepare route [api/user] for serialization. Uses Closure.
140
-
141
-
142
-
143
- at /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Routing/Route.php:917
144
-
145
- 913| */
146
-
147
- 914| public function prepareForSerialization()
148
-
149
- 915| {
150
-
151
- 916| if ($this->action['uses'] instanceof Closure) {
152
-
153
- > 917| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
154
-
155
- 918| }
156
-
157
- 919|
158
-
159
- 920| $this->compileRoute();
160
-
161
- 921|
162
-
163
-
164
-
165
- Exception trace:
166
-
167
-
168
-
169
- 1 Illuminate\Routing\Route::prepareForSerialization()
170
-
171
- /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php:62
172
-
173
-
174
-
175
- 2 Illuminate\Foundation\Console\RouteCacheCommand::handle()
176
-
177
- /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
178
-
179
-
180
-
181
- Please use the argument -v to see more details.
182
-
183
- ```

2

表題のエラーの解決までの道筋を追記してみた

2020/02/22 13:53

投稿

sirakawa
sirakawa

スコア20

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,135 @@
49
49
  ### やってみた
50
50
 
51
51
  composer update --no-scripts実行後にphp artisan route:cacheをしてもエラー内容は変わっていませんでした。
52
+
53
+
54
+
55
+
56
+
57
+ ###追記してみた
58
+
59
+
60
+
61
+ phpのバージョンが5.4から7.2にインストールしましたがEC2を再度立ち上げてphpのバージョンを7.2をインストールしたら今回の表題のエラーは消えました。
62
+
63
+
64
+
65
+
66
+
67
+ EC2を立ち上げたから治ったのかPHPを新しく7.2で導入したから解決したのかは原因不明です。
68
+
69
+ php7.2はここを参考にして導入してみました。
70
+
71
+ https://qiita.com/snowdog/items/121ad82fcbcd17eac779
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ その後、php artisan route:cacheを実行してみたら今度は下記の様なエラーに陥りました。
80
+
81
+
82
+
83
+ ```ここに言語を入力
84
+
85
+ $ php artisan route:cache
86
+
87
+ PHP Fatal error: Class 'PDO' not found in /var/www/html/tree2/origin/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 1262
88
+
89
+
90
+
91
+ In Connection.php line 1262:
92
+
93
+
94
+
95
+ Class 'PDO' not found
96
+
97
+ ```
98
+
99
+
100
+
101
+ やってみた解決策
102
+
103
+
104
+
105
+ 実行したコマンド
106
+
107
+ $yum install php72-php-mysqlnd php72-php-mbstring php72-php-gd
108
+
109
+ $yum install php72-php-dom
110
+
111
+
112
+
113
+
114
+
115
+ composer updateをしたら容量足りないと言われましたので下記も実行
116
+
117
+ $ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
118
+
119
+ $ sudo /sbin/mkswap /var/swap.1
120
+
121
+ $ sudo /sbin/swapon /var/swap.1
122
+
123
+
124
+
125
+ するとエラー内容が変わりました。
126
+
127
+
128
+
129
+ ###エラー内容追記
130
+
131
+ ```
132
+
133
+ $ php artisan route:cache
134
+
135
+ Route cache cleared!
136
+
137
+
138
+
139
+ LogicException : Unable to prepare route [api/user] for serialization. Uses Closure.
140
+
141
+
142
+
143
+ at /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Routing/Route.php:917
144
+
145
+ 913| */
146
+
147
+ 914| public function prepareForSerialization()
148
+
149
+ 915| {
150
+
151
+ 916| if ($this->action['uses'] instanceof Closure) {
152
+
153
+ > 917| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
154
+
155
+ 918| }
156
+
157
+ 919|
158
+
159
+ 920| $this->compileRoute();
160
+
161
+ 921|
162
+
163
+
164
+
165
+ Exception trace:
166
+
167
+
168
+
169
+ 1 Illuminate\Routing\Route::prepareForSerialization()
170
+
171
+ /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php:62
172
+
173
+
174
+
175
+ 2 Illuminate\Foundation\Console\RouteCacheCommand::handle()
176
+
177
+ /var/www/html/tree2/myblog/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
178
+
179
+
180
+
181
+ Please use the argument -v to see more details.
182
+
183
+ ```

1

誤字を直してみた

2020/02/22 13:50

投稿

sirakawa
sirakawa

スコア20

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  なぜエラーになってしまいますか?
4
4
 
5
+ ### ちなみに環境はこちらです。
5
6
 
7
+ phpバージョン7.2
8
+
9
+ composerバージョン1.9.2
10
+
11
+ git cloneを使いlaravelのプロジェクトを導入しました。
6
12
 
7
13
 
8
14
 
@@ -26,17 +32,11 @@
26
32
 
27
33
 
28
34
 
29
- ### ちなみに環境はこちらです。
30
-
31
- phpバージョン7.2
32
-
33
- composerバージョン1.9.2
34
-
35
- git cloneを使いlaravelのプロジェクトを導入しました。
36
35
 
37
36
 
38
37
 
38
+
39
- #laravelプロジェクト内のvendorの中身はこんのような形でした。
39
+ ###laravelプロジェクト内のvendorの中身はこんのような形でした。
40
40
 
41
41
  $ cd vendor
42
42