php - 具有云存储的 Google App Engine 无法在本地运行

标签 php wordpress google-app-engine google-cloud-storage

我在 Google Appengine 上运行一个 Wordpress 网站。它使用 wordpress 的 GAE 插件。媒体库在 appengine 服务器上工作,但不在本地工作。大多数图像都相同,除非它们具有硬编码链接。我收到大量 404 错误...

http://localhost:8080/_ah/gcs/<BUCKET_NAME>/image.png Failed to load resource: the server responded with a status of 404 (Not Found)

此链接在 gae 服务器上的工作位置:

http://<BUCKET_NAME>.storage.googleapis.com/image.png

我在本地运行我的应用程序是这样的: dev_appserver.py --php_executable_path=/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/php55/php-cgi .

谷歌的 python 脚本似乎没有正确转发链接到实际的真实存储桶......有什么想法吗?

最佳答案

这是预期的行为:

链接http://<BUCKET_NAME>.storage.googleapis.com/image.png是生产链接,请求由生产服务器提供。

链接http://localhost:8080/_ah/gcs/<BUCKET_NAME>/image.png是本地链接,devserver 必须实际包含 <BUCKET_NAME>/image.png .该对象很可能只存储在生产环境中,当试图在本地机器上找到它时会导致 404。

作为一种解决方案,您可以考虑简单地针对生产云存储运行本地测试,以节省将所有存储项传输(并保持同步)到本地的成本,这几乎肯定会在网络传输中花费更多和开发时间比这个更简单的替代方案。

关于php - 具有云存储的 Google App Engine 无法在本地运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37952588/

相关文章:

javascript - PHP laravel 使用 jQuery 解析数据或将它们组合成单个数组

php - Yii 2,Active Record类保存后未获取ID

node.js - Google App Engine - Node : Cannot find module 'firebase-admin'

java - 了解 Java API 中 AppEngine 键名的最大长度

php - 可以在网络主机上的 php 中使用命令行吗?

javascript - 使用 AJAX 将变量从 jQueryUI 对话框发布到 PHP

javascript - 如何在 Wordpress 中创建添加以进行比较?

javascript - 输出 og :image tag? 的特定 div 的第一个图像 url

r - 如何在 wordpress 网站上嵌入图表?

java - 如何更新 Google App Engine 中的实体