これはローカルホストのルートキャッシュに関するものです
Route.phpファイルに2つのルートがあります。両方とも正常に動作しています。問題ありません。私はroute:clearとroute:cacheを学んでいて、以下の小さな問題を発見しました。
route.phpファイルでいずれかのルートをコメントしてから、以下のコマンドを実行すると
php artisan route:cache
これで、ルートリストがキャッシュにあるため、ルートは無効のままになります。次に、route.phpファイルに移動して、コメント化されたルートを削除してから、その有効なURLを実行してみます。以下のコマンドを使用してキャッシュを削除する必要があるため、まだ404が表示されます
php artisan route:clear
これまでのところ、すべてはローカルホストで理解されています。問題ありません。
質問:サーバー上のルートキャッシュを削除するにはどうすればよいですか?
サーバー上のルートキャッシュを削除する場合は、次のファイルを削除します。
bootstrap/cache/routes.php
また、更新する場合は、php artisan route:cache
を実行し、bootstrap/cache/routes.php
をサーバーにアップロードします。
ローカルマシンからGITを介してファイルをアップロードする場合、BASHなどを使用してライブサーバーに接続しているときに、ローカルマシンで使用しているのと同じコマンドを使用できます。これは、ローカルで使用するように使用できます。
php artisan cache:clear
php artisan route:cache
動作するはずです。
あなたの場合の解決策は次のとおりです:
php artisan cache:clear
php artisan route:cache
ルートローディングの最適化は本番環境で必須です:
多数のルートを持つ大規模なアプリケーションを構築している場合、展開プロセス中にroute:cache Artisanコマンドを実行していることを確認する必要があります。
php artisan route:cache
このコマンドは、キャッシュされたファイル内のすべてのルート登録を単一のメソッド呼び出しに減らし、何百ものルートを登録するときのルート登録のパフォーマンスを改善します。
この機能はPHPシリアル化を使用するため、コントローラーベースのルートのみを使用するアプリケーションのルートのみをキャッシュできます。 PHPはクロージャーをシリアル化できません。
Laravel 5は、ルート、ビュー、設定、およびアプリケーションからのすべてのキャッシュデータからキャッシュをクリア
私の経験と解決策を共有したいと思います。 laravel eコマースウェブサイトでgitlabを使用していたとき。開発中にエラーが発生して、突然ビューキャッシュを取得していました。私は多くのことを更新しようとしましたが、ビューにこれ以上の変更は見られませんが、最後にlaravelコマンドを使用して問題を解決しましたので、キャッシュをクリアするためのコマンドをいくつか追加しましたビュー、ルート、構成などから.
再最適化されたクラスローダー:
php artisan optimize
キャッシュファサードの値をクリアします。
php artisan cache:clear
ルートキャッシュのクリア:
php artisan route:cache
ビューキャッシュをクリア:
php artisan view:clear
構成キャッシュをクリアします。
php artisan config:cache
web.phpでルートを定義できます
Route::get('/clear/route', 'ConfigController@clearRoute');
configController.phpを次のようにします
class ConfigController extends Controller
{
public function clearRoute()
{
\Artisan::call('route:clear');
}
}
そしてサーバーの例http://your-domain/clear/route
でそのルートに移動します