私は 1 日前から Google App Engine スタンダード環境で苦労しています。
エラーは次のとおりです。
PHP 注意: 例外: /srv/bootstrap/cache ディレクトリが存在し、書き込み可能である必要があります。/srv/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php:168 内
/tmp
このフォルダーが、App Engine スタンダード環境で唯一書き込み可能なフォルダーであることはわかっています。したがって、app.yaml
次の追加がありますenv_variables
。
APP_STORAGE: "/tmp"
VIEW_COMPILED_PATH: "/tmp"
...mybootstrap/app.php
には次の行が含まれます。
$app->useStoragePath(env('APP_STORAGE', base_path() . '/tmp'));
...そして、composer.json
構成の変更を説明するこれらのスクリプトがあります。
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump"
],
"post-install-cmd": [
"composer dump-autoload",
"php artisan config:clear",
"php artisan cache:clear",
"php artisan view:clear",
"php artisan cache:clear",
"php artisan regenerate:schoolCSS"
]
これらはで構成された私のドライバーですapp.yaml
:
SESSION_DRIVER: database
BROADCAST_DRIVER: log
CACHE_DRIVER: database
QUEUE_DRIVER: sync
/tmp
何らかの理由で、フォルダーをキャッシュされたビューと構成が置かれるフォルダーにする方法が見つからないようです。実際、...:clear
コマンドがまったく適切に実行されていないのではないかと思います。
私のアプリケーションは、パスに関係なく、空白の白いページになりました。書き込み不可のキャッシュのため、ビューをレンダリングしてそこに保存することはできません。
上記の構成は、Google App Engine Standard に Laraval をインストールするためのチュートリアル ( https://cloud.google.com/community/tutorials/run-laravel-on-appengine-standardなど) と一致する必要があります。
クラウド コンソールで、/tmp
フォルダーが存在するかどうかを確認しました。
とにかく、すべての助けに心から感謝します。さらにコード スニペットが必要な場合は、お問い合わせください。喜んで提供させていただきます。