Laravel 5にプロジェクトがあり、オフィスと自宅でも仕事をしています。正常に動作しますが、最近では自宅で動作しなくなりました。 Laravel 2つのErrorExceptionを表示
file_put_contents(G:\project\storage\framework\views/751d8a0fd8a7d4138c09ceb6a34bb377aa2d6265.php):
failed to open stream: No such file or directory
そして
file_put_contents(G:\project\storage\framework/sessions/aIXycR4LIAUBVIqZu0T590paOMIpV8vfZGIroEp0):
failed to open stream: No such file or directory
Googleで問題の決定を検索し、正しい権利に関する情報を見つけています。すべてのアドバイスはLinuxについてですが、私はWindowsでオフィスと自宅でも働いています。
アプリケーションキャッシュをクリアしてキャッシュを表示しようとすると、職人が私に話をします-...クリアしました。ただし、キャッシュデータとビューはストレージに存在します。
この問題を修正するにはどうすればよいですか?
前もって感謝します!
いくつかの調査の後、非常によく似ていますが、ルートプロジェクトの場所が異なり、/bootstrap/cache
にキャッシュされています。キャッシュクリアプロジェクトが開始された後。
この問題を解決する最良の方法は、「laravel/bootstrap/cache」ディレクトリに移動し、config.phpファイルを削除することです。または、config.php.oldのように名前を変更することもできます。問題は修正されます。ハッピーコーディング:-)
通常、実動デプロイメントルーチンの一部としてphp artisan config:cache
コマンドを実行する必要があります。私はあなたをお勧めします
これを行うには、コマンドラインで次のArtisanコマンドを実行します
php artisan config:clear
php artisan cache:clear
php artisan config:cache
サーバーのコマンドラインにアクセスできない場合は、ルートに次を追加して、プログラムでコマンドを実行できます。
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('config:clear');
$exitCode = Artisan::call('cache:clear');
$exitCode = Artisan::call('config:cache');
return 'DONE'; //Return anything
});
そして、ブラウザからclear-cache
ルートを呼び出します。
これがお役に立てば幸いです。
このタイプの問題は、通常、あるサーバーを別のサーバーに、あるフォルダーを別のフォルダーに移行するときに発生します。 Laravelは、フォルダーが異なる場合にキャッシュと構成(ファイル名)を保持するため、この問題が発生します。
ソリューション次のコマンドを実行:
php artisan config:cache
https://laravel.com/docs/5.6/configuration#configuration-caching
これは馬鹿げた間違いであり、他の回答とは異なる答えですが、私に起こったので追加します。
WSL(Windows上のLinux bash)を使用してlaravelアプリケーションを管理し、windowsApacheを使用してサーバーを実行し、 wslは、セッションおよび他のフォルダーへのwindowsパスではなく、linuxパスを保存します。
WSLではなくpowershellでキャッシュクリアコマンドを実行するだけです。
$ php artisan optimize
私には十分でした。
実際、プロジェクトをサーバーからローカルに移動したときにこの問題に直面しました。
に
ストレージ/フレームワーク
4つの基本フォルダーには、キャッシュ、セッション、テスト、ビューが必要です
私の場合、欠落しているセッションはgitignoreにある可能性があります。
そのため、セッションフォルダーを手動で作成し、ブラウザーを更新しましたが、動作していました。
したがって、この問題を削除すると、不足しているフォルダーはすべて解決できます。
コマンドラインにアクセスできない共有ホスティングの場合、laravel/bootstrap/cacheフォルダーに移動し、config.phpを削除(または名前変更)するだけで完了です!
これらのエラーに役立つこれらのコマンドを試してください
path\project\storage\framework\views ...
php artisan view:clear
path\project\storage\framework/sessions ...
php artisan config:cache
私の場合、それはphpアーティザンコマンドで修正できるものではありませんでした。問題は、/ storageフォルダーのフォルダー権限です。エラーはそれを明確にしませんでした。
この問題の理由は、localhostのキャッシュファイルです。それによると、プロジェクトのキャッシュをクリアするために次のようにいくつかのことを試しましたが、失敗するたびに。
そのため、上記の各ステップがすべて失敗した後、この問題の解決策を見つけました。 host_route/bootstrap/cacheディレクトリのcache.phpファイルを削除しました。
この答えがあなたの問題に役立つと思います。
composerファイルに問題がある可能性があります。あなたが試すことができます:
composer updateは常にcomposer.lockを再生成し、composer.jsonに基づいて利用可能なパッケージの最新バージョンをインストールします
composer dump-autoloadは物をダウンロードしません。プロジェクト(autoload_classmap.php)に含める必要があるすべてのクラスのリストを再生成するだけです。プロジェクト内に新しいクラスがある場合に最適です。 Webページの読み込みを高速化するには、composer dump-autoload -oを実行するのが理想的です。デフォルトではない唯一の理由は、生成に少し時間がかかるためです(ただし、わずかにしか認識されません)