Laravelの職人のルート:キャッシュにより誤ったデータ例外が発生する


9

コマンドを実行php artisan route:cacheすると、次の例外が生成されます。

Erroneous data format for unserializing 'Symfony\Component\Routing\CompiledRoute'

実行中:php artisan route:clear修正

ルートをキャッシュできるようにこれを修正する方法を教えてください。


1
ルートのクロージャー(インライン関数)があれば削除します。
jsHate

私は私のroutesファイルには閉鎖していない
ネイト

ルートに閉鎖がない状態で同じ問題に直面しています。
nwaweru

同じ問題に直面していますが、共有できる回避策は見つかりましたか?
不明な開発

まだですが、新しいディレクトリに再クローンして何が起こるかを確認する予定です
Nate

回答:


2

たくさんのことを考え出した後。CLIバージョンが最新であっても、Apache2が古いバージョンのPHPを使用していることがわかりました。

すべての古いバージョンのphpをアンインストールし、最新バージョンを使用するようにApache2を再構成した後、この問題を修正しました。


1

これは私のために働いた

php artisan optimize:clear
php artisan config:clear
php artisan config:cache
composer dump-autoload 

残念ながら、これは機能しませんでした。
ネイト

1

CLIとプロジェクトで同じPHPバージョンを使用していることを願っています。また、PHP 7.4のルーティングキャッシュは、php 7.3では機能しません。


0

ルートの行間の空白を削除するだけです。

php artisan optimize:clear
php artisan optimize

1
空白行を削除すると、routesファイルでどのように役立ちますか?
ネイト

0

Laravelを更新しようとすると、同じ問題が発生しました。私を助けた唯一の方法は、symfony / routingのバージョンをv4.2.0にダウングレードすることでした(私はv 4.4.3を持っていました)

composer require symfony/routing:v4.2.0


symfony / routingをv4.2.0にダウングレードしてそれが役立つかどうかを確認しようとしましたが、symfony / routingのバージョンがLaravelの現在のバージョン(6.9.0)に対して低すぎるため、私はできませんでした。
ネイト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.