teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

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

2020/02/22 13:53

投稿

sirakawa
sirakawa

スコア20

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

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

2020/02/22 13:53

投稿

sirakawa
sirakawa

スコア20

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

誤字を直してみた

2020/02/22 13:50

投稿

sirakawa
sirakawa

スコア20

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