从谷歌App Engine中的表单运行PHP脚本

时间:2014-08-25 08:36:16

标签: php web-services google-app-engine

我是Google App引擎的新手,所以卡住了。我想运行一个php脚本来处理我在谷歌应用引擎中的表单。我不知道该怎么做。

这是我定义表格的方式:

<form method="post" action="/php/" name="SampleForm">
                            <input type="hidden" name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT,AUTH_TYPE,REMOTE_USER" />
                            <input id="TEST" type="text" name ="EmailAddr" class="text" value="Your email address" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Your email address';}">
                            <input type="hidden" name="subject" value="Sample FormMail Testing" />
                            <input type="hidden" name="recipients" value="helloworld@gmail.com" />
                            <input type="submit" value="Submit"  />
                        </form>

这是我的app.yaml:

application: totemic-gravity-676
version: 1
runtime: php
api_version: 1

handlers:
- url: /(.*\.(gif|png|jpg|ico|js|css))
  static_files: \1
  upload: (.*\.(gif|png|jpg|ico|js|css))

- url: /robots.txt
  static_files: robots.txt
  upload: robots.txt 

- url: /
  script: main.php


- url: /php/
  script: formmail.php

我的php脚本所做的是它将邮件发送到某个电子邮件地址。我的formmail.php与app.yaml处于同一级别。但这不起作用。该脚本可以静态访问,但是当我通过表单运行它时,我收到错误消息。可能是什么问题?

你可以在这里查看它:http://totemic-gravity-676.appspot.com/(向下滚动到更新表格)

我想我在yaml中使用-static关键字做了一些事情,但我对如何将文件夹定义为静态无能为力

1 个答案:

答案 0 :(得分:2)

您正在调用脚本 - 看起来您正在尝试使用app引擎不支持的mail()函数。

  1. 来自您的应用日志。

    /formmail.php 200 350ms 0kb Mozilla / 5.0(Macintosh; Intel Mac OS X 10_9_4)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 36.0.1985.143 Safari / 537.36模块=默认版本= ​​1

    W 2014-08-25 19:32:57.768未实现“邮件”功能。

    W 2014-08-25 19:32:57.768未实现“邮件”功能。

    W 2014-08-25 19:32:58.046“邮件”功能未实现。

  2. 使用php

  3. 在app引擎上发送邮件

    Mail API Overview