问题标签 [google-app-engine-php]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
65 浏览

google-app-engine - GAE 标准 PHP,Linux 开发服务器错误

使用 Google Cloud SDK,而不是正在逐步淘汰的 App Launcher,我正在尝试在 Linux 主机上设置开发 Php 环境。我已经安装了推荐的 PHP 版本,下面是尝试启动服务器的结果。

0 投票
1 回答
613 浏览

google-app-engine - App Engine YAML 文件未运行脚本

所有其他静态文件在域中正常使用。

似乎 PHP 文件没有运行;当我不尝试将其作为脚本运行(而只是将其作为静态文件上传)时,它可以正常工作;当 jQuery 调用它时返回纯文本 - 所以它绝对不是文件路径问题。

但是一旦我将它列为 yaml 中的 php 文件并期望 jQuery 获取“你好,世界!” 它在 Firefox 网络监视器中返回 404,并且在控制台中没有响应。

关于在 App Engine Standard 上运行单独的服务器端 php 脚本,我有什么遗漏吗?

应用程序.yaml

弹性.php

script.js(在我的 index.html 中加载 jQuery 后调用)

0 投票
1 回答
93 浏览

google-app-engine - 尝试构建 GAE PHP 运行时扩展

我正在尝试为本地开发构建 GAE PHP 运行时扩展。我已按照https://github.com/GoogleCloudPlatform/appengine-php-extension中描述的说明进行操作

运行 .configure 时出现以下错误:

配置:错误:无效的 protobuf 包含路径 /home/sergio/Workspace/appengine-php-extension

配置命令:

./configure --enable-gae --with-protobuf_inc=/home/sergio/Workspace/appengine-php-extension --with-protobuf_lib=/home/sergio/Workspace/appengine-php-extension

/home/sergio/Workspace/appengine-php-extension是在说明的第二步中创建的头文件和库的绝对路径:

将 和 设置为上一步中安装的 protobuf 头文件和库的绝对路径,通常是 /usr/local/include 和 /usr/local/lib。

我尝试使用 /usr/local/include 和 /usr/local/lib。也没有用。有人知道我错过了什么吗?

0 投票
1 回答
940 浏览

google-app-engine - Google App Engine Flexible 上的 Symfony3 无法连接到 Google Cloud SQL MySQL

我无法让我在 Google App Engine Flexible 上的 Symfony 3 项目连接到 Google Cloud SQL(MySQL,第 2 代)。

从这些例子开始

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/flexible/symfony

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/flexible/cloudsql-mysql

我在 europe-west3 创建了一个 Google App Engine 和一个 Google Cloud SQL(MySQL,第 2 代)。我在我的 GAE 上测试了这些示例,并且都运行良好。

然后我从头开始创建了一个新的、非常简单的 Symfony 3.3 项目。创建后(只有欢迎屏幕和“您的应用程序现已准备就绪。您可以在以下位置开始处理它:/app/”)我将它部署到我的 GAEflex 并且它工作正常。

之后,我为此添加了一个简单的实体和一个额外的控制器。当启动 Google 的 cloud_sql_proxy 和 Symfony 内置的网络服务器“php bin/console server:run”时,这可以正常工作。它从 Cloud SQL 读取和写入,一切都很简单。

但是,无论我尝试什么,我的 composer.json 中的“symfony-scripts”“post-install-cmd”命令中的一个(或另一个,取决于我的实验状态)总是得到“拒绝连接” .

“$ gcloud beta app deploy”输出(摘录)

参数.yml(摘录)

config.yml(摘录)

composer.json(摘录)

app.yml(完整)

请记住,我只添加或更改了示例和文档建议我这样做的行。

我做错了什么?这些示例都工作正常,通过正在运行的 cloud_sql_proxy 连接到数据库的 Symfony 项目工作正常,当我尝试从 GAEflex 中获得连接到 CloudSQL 的学说时,我没有连接。

谁能发现我可能犯的新手错误?有没有人遇到过这个问题,也许我忘记了 GAE 或 CloudSQL 的一个或另一个设置?谁能指出我使用 GAEFlex 和 CloudSQL 的 Symfony3/Doctrine 项目的存储库?

我被困住了,因为我找不到任何关于如何让这个相当明显的组合运行的最新文档。任何帮助是极大的赞赏!

干杯/卡斯滕

0 投票
1 回答
87 浏览

php - AppEngine 类在本地找到,但在部署时没有

出于某种原因,这在我的本地开发服务器上完美运行,但是当我将它部署到谷歌时,我收到以下错误:

PHP 致命错误:在第 10 行的 /base/data/home/apps/../2.105209891175321430/library/testerson.php 中找不到类 'PHPOnCouch\couchClient'

有谁知道为什么我不会在本地与部署中遇到冲突的错误?

这是我的文件夹结构:

/库/testerson.php

/index.php

0 投票
2 回答
77 浏览

google-app-engine-php - Google App Engine PHP(标准):获取应用程序的权限错误

我时不时失去通过 Google App Engine PHP 部署项目的权限。

HttpException: Permissions error fetching application [apps/PROJECT_ID]. Please make sure you are using the correct project ID and that you have permission to view applications on the project.

我使用 Jenkins,我可以通过配置历史看到没有任何改变。即使我将权限升级为 console.cloud.google.com 中的“项目所有者” - 结果相同:权限被拒绝。

我能够解决此问题的唯一方法是创建一个全新的应用引擎项目。

问题:为什么 IAM 帐户会过期,以及使用凭证通过 Google App Engine PHP 自动部署的推荐方法是什么?

0 投票
1 回答
132 浏览

google-app-engine - PHP App Engine Flex 提供 SPA 和 API

我的目标是在同一个站点上提供 SPA 和 PHP api。我希望能够在 mywebsite.com 上浏览网站,并在 mywebsite.com/api/ 上请求 api 调用。

我的目录结构是:

我的 app.yaml:

导航到 mywebsite.com 会给出 404,因为 public/index.php 不存在。

所以我尝试了这个 app.yaml:

我可以正常访问 mywebsite.com,因为 index.html 是默认文件,但 api/index.php 仍然是 404。

在 App Engine php flex 上是否有可能发生这样的事情?我已阅读文档 - https://cloud.google.com/appengine/docs/flexible/php/configuring-your-app-with-app-yaml

谢谢!

0 投票
1 回答
493 浏览

php - 如果在应用引擎灵活提供的 URL 中找到 /index.php,如何配置我的 nginx-app.conf 文件以提供服务?

我最近将一个站点从 bluehost 迁移到了 flex 环境。通过这次迁移,我知道我需要配置我的 nginx-app.conf 文件以按照我想要的方式提供脚本/文件,但我不知道该怎么做。

我想模仿 bluehost、godaddy、hostgator 等托管服务提供商......我可以在哪里部署脚本domain.com/path/以及何时向该路径发出请求:domain.com/path/index.php如果存在则加载它,或者它回退index.html或抛出 404 错误

另外:如果像这样直接向脚本发出请求:domain.com/path/myscript.php则加载适当的 myscript.php 文件(如果存在),否则会引发 404 错误。

我试图写我的nginx-app.conf文件如下:

location /~* { # try to serve file directly, fallback to front controller try_files $uri /index.php$is_args$args; }

但是,当我在部署后单击任何链接时,它只会停留在同一页面上。

0 投票
2 回答
244 浏览

google-app-engine - Google App Engine PHP dev local - HTML 文档的字符编码尚未声明

我是 App Engine PHP 的初学者。我在 ubuntu 16.04 和 Google Cloud SDK 187.0.0 中工作。我正在关注本教程https://cloud.google.com/appengine/docs/standard/php/quickstart

我的代码是:

应用程序.yaml

索引.php

但是,当我想在本地运行 Appengine server dev 并打开 Mozilla 浏览器时会显示一条消息。

"La codificación de caracteres del documento HTML no ha sido declarada. El documento se mostrará con texto "basura" en algunas configuraciones de navegador si el documento contiene caracteres externos al rango US-ASCII. La codificación de caracteres de la página debe ser declarada en el documento o en el protocolo de transferencia。”

“尚未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器设置中,该文档将显示为带有“垃圾”文本。页面的字符编码必须声明为文件或传输协议中。”

我已经搜索了 Stackoverflow 中的所有解决方案,但没有一个有效。请帮帮我。

Adicional,我看到 php 版本没有显示。

app-engine-php 版本不显示

0 投票
1 回答
153 浏览

php - 在 Google App Engine 上收不到电子邮件

我已按照接收邮件说明创建以下内容app.yaml

myhandle_incoming_email.php同样紧凑:

运行dev_appserver.py app.yaml并通过http://localhost:8000/mail我发送邮件在该开发服务器界面中收到一条成功消息,我的控制台日志显示:

信息:来自handle_incoming_email的你好

INFO 2018-02-22 23:13:33,985 module.py:835] 默认值:“POST /_ah/mail/anything@example.com HTTP/1.1”200 555

但是,部署到应用程序引擎并从两个不同的帐户发送邮件,并仔细检查电子邮件地址,既没有 POSTS 到 /_ah/mail 也没有我的日志消息显示在日志中。