“ / workspace / storage / logs”中没有现有目录,并且该目录不可构建:只读文件系统

问题描述 投票:0回答:1

我使用以下步骤在gcloud上部署了Laravel应用:

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))
php laravel logging gcloud
1个回答
0
投票
这是不允许的,因为在Google App Engine 7.2环境中,除/tmp目录外,所有目录都是只读的。检查this page
© www.soinside.com 2019 - 2024. All rights reserved.