Я развернул приложение Laravel в gcloud, выполнив следующие действия:
php artisan key:generate --show
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
gcloud beta app deploy --no-cache
У меня есть следующее в composer.json
:
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize",
"chmod -R 777 bootstrap\/cache",
"chmod -R 777 storage\/logs",
"php artisan cache:clear"
]
app.yaml
гласит следующее:
runtime: php72
runtime_config:
document_root: public
env_variables:
# Put production environment variables here.
APP_LOG: errorlog
APP_KEY: base64:js8r1FFX55XhAcXVjU71plGXGTCt4YrauCqXFHjlsO4=
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
CACHE_DRIVER: cookie
SESSION_DRIVER: cookie
## Set these environment variables according to your CloudSQL configuration.
CLOUDSQL_USER: root
CLOUDSQL_PASSWORD: secret
CLOUD_SQL_DSN: "mysql:dbname=cbt-sql;unix_socket=/cloudsql/theta-byte-123456:asia-southeast1:cbt-sql"
Однако я получаю следующую ошибку. Я не уверен, что я делаю неправильно.
(1/1) UnexpectedValueException
There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system
in StreamHandler.php line 172
at StreamHandler->createDir()
in StreamHandler.php line 100
at StreamHandler->write(array('message' => 'There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', 'context' => array('exception' => object(UnexpectedValueException)), 'level' => 400, 'level_name' => 'ERROR', 'channel' => 'production', 'datetime' => object(DateTimeImmutable), 'extra' => array(), 'formatted' => '[2019-10-12 06:24:56] production.ERROR: There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system {"exception":"[object] (UnexpectedValueException(code: 0): There is no existing directory at \\"/workspace/storage/logs\\" and its not buildable: Read-only file system at /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:172)[stacktrace]#0 /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php(100): Monolog\\\\Handler\\\\StreamHandler->createDir()#1 /srv/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(120): Monolog\\\\Handler\\\\StreamHandler->write(Array)#2 /srv/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(42): Monolog\\\\Handler\\\\RotatingFileHandler->write(Array)#3 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(323): Monolog\\\\Handler\\\\AbstractProcessingHandler->handle(Array)#4 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(538): Monolog\\\\Logger->addRecord(400, \'There is no exi...\', Array)#5 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\\\Logger->error(\'There is no exi...\', Array)#6 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\\\Log\\\\Logger->writeLog(\'error\', \'There is no exi...\', Array)#7 /srv/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(539): Illuminate\\\\Log\\\\Logger->error(\'There is no exi...\', Array)#8 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(118): Illuminate\\\\Log\\\\LogManager->error(\'There is no exi...\', Array)#9 /srv/app/Exceptions/Handler.php(37): Illuminate\\\\Foundation\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#10 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#11 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\\\Foundation\\\\Http\\\\Kernel->reportException(Object(UnexpectedValueException))#12 /srv/public/index.php(59): Illuminate\\\\Foundation\\\\Http\\\\Kernel->handle(Object(Illuminate\\\\Http\\\\Request))#13 {main}"} '))
in RotatingFileHandler.php line 120
at RotatingFileHandler->write(array('message' => 'There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', 'context' => array('exception' => object(UnexpectedValueException)), 'level' => 400, 'level_name' => 'ERROR', 'channel' => 'production', 'datetime' => object(DateTimeImmutable), 'extra' => array(), 'formatted' => '[2019-10-12 06:24:56] production.ERROR: There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system {"exception":"[object] (UnexpectedValueException(code: 0): There is no existing directory at \\"/workspace/storage/logs\\" and its not buildable: Read-only file system at /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:172)[stacktrace]#0 /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php(100): Monolog\\\\Handler\\\\StreamHandler->createDir()#1 /srv/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(120): Monolog\\\\Handler\\\\StreamHandler->write(Array)#2 /srv/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(42): Monolog\\\\Handler\\\\RotatingFileHandler->write(Array)#3 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(323): Monolog\\\\Handler\\\\AbstractProcessingHandler->handle(Array)#4 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(538): Monolog\\\\Logger->addRecord(400, \'There is no exi...\', Array)#5 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\\\Logger->error(\'There is no exi...\', Array)#6 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\\\Log\\\\Logger->writeLog(\'error\', \'There is no exi...\', Array)#7 /srv/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(539): Illuminate\\\\Log\\\\Logger->error(\'There is no exi...\', Array)#8 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(118): Illuminate\\\\Log\\\\LogManager->error(\'There is no exi...\', Array)#9 /srv/app/Exceptions/Handler.php(37): Illuminate\\\\Foundation\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#10 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#11 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\\\Foundation\\\\Http\\\\Kernel->reportException(Object(UnexpectedValueException))#12 /srv/public/index.php(59): Illuminate\\\\Foundation\\\\Http\\\\Kernel->handle(Object(Illuminate\\\\Http\\\\Request))#13 {main}"} '))
in AbstractProcessingHandler.php line 42
at AbstractProcessingHandler->handle(array('message' => 'There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', 'context' => array('exception' => object(UnexpectedValueException)), 'level' => 400, 'level_name' => 'ERROR', 'channel' => 'production', 'datetime' => object(DateTimeImmutable), 'extra' => array(), 'formatted' => '[2019-10-12 06:24:56] production.ERROR: There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system {"exception":"[object] (UnexpectedValueException(code: 0): There is no existing directory at \\"/workspace/storage/logs\\" and its not buildable: Read-only file system at /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:172)[stacktrace]#0 /srv/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php(100): Monolog\\\\Handler\\\\StreamHandler->createDir()#1 /srv/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(120): Monolog\\\\Handler\\\\StreamHandler->write(Array)#2 /srv/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(42): Monolog\\\\Handler\\\\RotatingFileHandler->write(Array)#3 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(323): Monolog\\\\Handler\\\\AbstractProcessingHandler->handle(Array)#4 /srv/vendor/monolog/monolog/src/Monolog/Logger.php(538): Monolog\\\\Logger->addRecord(400, \'There is no exi...\', Array)#5 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(176): Monolog\\\\Logger->error(\'There is no exi...\', Array)#6 /srv/vendor/laravel/framework/src/Illuminate/Log/Logger.php(87): Illuminate\\\\Log\\\\Logger->writeLog(\'error\', \'There is no exi...\', Array)#7 /srv/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(539): Illuminate\\\\Log\\\\Logger->error(\'There is no exi...\', Array)#8 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(118): Illuminate\\\\Log\\\\LogManager->error(\'There is no exi...\', Array)#9 /srv/app/Exceptions/Handler.php(37): Illuminate\\\\Foundation\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#10 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\\\Exceptions\\\\Handler->report(Object(UnexpectedValueException))#11 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(118): Illuminate\\\\Foundation\\\\Http\\\\Kernel->reportException(Object(UnexpectedValueException))#12 /srv/public/index.php(59): Illuminate\\\\Foundation\\\\Http\\\\Kernel->handle(Object(Illuminate\\\\Http\\\\Request))#13 {main}"} '))
in Logger.php line 323
at Logger->addRecord(400, 'There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', array('exception' => object(UnexpectedValueException)))
in Logger.php line 538
at Logger->error('There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', array('exception' => object(UnexpectedValueException)))
in Logger.php line 176
at Logger->writeLog('error', 'There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', array('exception' => object(UnexpectedValueException)))
in Logger.php line 87
at Logger->error('There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', array('exception' => object(UnexpectedValueException)))
in LogManager.php line 539
at LogManager->error('There is no existing directory at "/workspace/storage/logs" and its not buildable: Read-only file system', array('exception' => object(UnexpectedValueException)))
in Handler.php line 118
at Handler->report(object(UnexpectedValueException))
in Handler.php line 37
at Handler->report(object(UnexpectedValueException))
in HandleExceptions.php line 92
at HandleExceptions->handleException(object(UnexpectedValueException))