将laravel应用程序部署到谷歌应用引擎

时间:2018-02-13 16:35:06

标签: php laravel google-app-engine google-cloud-platform

根据此论坛,我发现此错误.https://cloud.google.com/community/tutorials/run-laravel-on-appengine-flexible

错误:构建步骤1" gcr.io/cloud-builders/docker@sha256:9ab43021cda6dda1507c00d9c0489829515637bebbc9e9e3f99a24f253abc768"失败:退出状态1

错误:(gcloud.app.deploy)云构建失败。在https://console.cloud.google.com/gcr/builds/5b9ce7e4-eb2e-4d3f-8c6c-ddf503bde123?project=friendlychat-ed239检查日志失败状态:UNKNOWN:错误响应:[2]构建失败;检查构建日志以获取详细信息

log的相关部分是

  

步骤1:[0mDiscovered Package:fideloper / proxy步骤#1:发现   包:laravel / tinker步骤#1:生成包清单   成功。步骤#1:[91m>   Illuminate \ Foundation \ ComposerScripts :: postInstall Step#1:[0m [91m]>   php artisan cache:clear步骤#1:[0m [91m [201-Feb-2018 16:31:05 UTC]   [2018-02-13 16:31:05] production.ERROR:SQLSTATE [HY000] [2002]没有这样的   文件或目录{" exception":" [object](PDOException(code:2002):   SQLSTATE [HY000] [2002]没有这样的文件或目录   /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:67)"}   []步骤#1:[0m [91m [201-Feb-2018 16:31:05 UTC] [2018-02-13 16:31:05]   production.ERROR:SQLSTATE [HY000] [2002]没有这样的文件或目录   (SQL:从cache删除){"例外":" [对象]   (Illuminate \ Database \ QueryException(代码:2002):SQLSTATE [HY000]   [2002]没有这样的文件或目录(SQL:从cache删除)   /app/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664,   PDOException(代码:2002):SQLSTATE [HY000] [2002]没有这样的文件或   目录在   /app/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:67)"}   []步骤#1:[0m步骤#1:在Connection.php第664行:步骤#1:步骤

     

1:SQLSTATE [HY000] [2002]没有这样的文件或目录(SQL:从cache删除)步骤#1:步骤#1:步骤#1:在Connector.php第67行:步骤

     

1:步骤#1:SQLSTATE [HY000] [2002]没有这样的文件或目录步骤#1:步骤#1:步骤#1:[91mScript php artisan cache:clear处理返回的post-install-cmd事件错误代码1步骤#1:

     

command' / bin / sh -c /build-scripts/composer.sh'返回非零   代码:1完成步骤#1 ERROR ERROR:构建步骤1   " gcr.io/cloud-builders/docker@sha256:9ab43021cda6dda1507c00d9c0489829515637bebbc9e9e3f99a24f253abc768"   失败:退出状态1步骤#1:[0m

如何解决它

2 个答案:

答案 0 :(得分:1)

我在过去几天也遇到了同样的问题,跟你提到的https://cloud.google.com/community/tutorials/run-laravel-on-appengine-flexible相同的链接。现在我可以通过替换:

成功部署
post-install-cmd": [
"chmod -R 755 bootstrap\/cache",
"php artisan cache:clear" ] 

"post-install-cmd": [
        "Illuminate\\Foundation\\ComposerScripts::postInstall",
        "php artisan optimize",
        "chmod -R 755 bootstrap\/cache" ]

在composer.json

这只是删除提交错误的php artisan cache:clear 命令。

我从https://github.com/GoogleCloudPlatform/php-docs-samples/issues/371

获得了此信息

如果仍然无法解决问题,您可以在app.yaml中注释掉 SESSION_DRIVER:数据库并再次测试(在我的情况下,我不需要这个)。 您还需要检查是否已启用SQL API。 祝你好运〜

答案 1 :(得分:0)

确保您的CloudSQL API is enabled 如果这不起作用,请查看this thread,以获取其他解决问题的方法。如上面的评论中所述,解决此问题的一种简单方法是仅使用SESSION_DRIVER: cookie,并在不需要时一起绕过数据库会话。