【发布时间】:2020-10-30 00:29:01
【问题描述】:
我在谷歌云应用引擎上部署了一个 Laravel 项目。
我正在尝试上传一张图片,该图片将保存在 laravel 项目的“public/uploads”文件夹中,在与谷歌云应用引擎连接的 MySQL 数据库的产品表中。
它在我的本地主机上工作,但不在谷歌云上。
这是供参考的图片:
【问题讨论】:
标签: mysql laravel google-app-engine google-cloud-platform gcloud
我在谷歌云应用引擎上部署了一个 Laravel 项目。
我正在尝试上传一张图片,该图片将保存在 laravel 项目的“public/uploads”文件夹中,在与谷歌云应用引擎连接的 MySQL 数据库的产品表中。
它在我的本地主机上工作,但不在谷歌云上。
这是供参考的图片:
【问题讨论】:
标签: mysql laravel google-app-engine google-cloud-platform gcloud
您无法写入云中的生产服务器。来自:https://cloud.google.com/appengine/docs/standard/php/runtime#filesystem
App Engine 应用程序不能:
写入文件系统。 PHP 应用程序可以使用 Google Cloud Storage 用于存储持久文件。允许从文件系统读取, 并且所有随应用上传的应用文件都可用。
您想使用 Google Cloud Storage 上传照片。您可以暂时写入/tmp 目录,但不会持久。
【讨论】:
https://storage.googleapis.com/yourbucket.appspot.com/yourimagepath.jpg?
问题是上传目录没有写权限。 您可以转到文件管理器并将权限更改为 755,即“所有人的读取和执行权限”,或者只需使用命令行执行以下命令。
$chmod 755 /var/www/html/public/system
$chown www-data:www-data.
【讨论】:
$chmod 755 <laravel project>/public