【发布时间】:2016-10-12 08:03:44
【问题描述】:
我正在关注GAE PHP tutorial,但我无法让本地开发服务器正确响应。
我用
运行它dev_appserver.py --php_executable_path=/usr/bin/php --host=192.168.33.44 ./
它启动良好。当我查看http://192.168.33.44:8080/ 时,日志显示
INFO 2016-10-12 07:55:06,264 module.py:788] default: "GET / HTTP/1.1" 200 -
但我得到一个空白页。教程中没有说明遇到问题该怎么办。
到目前为止,我已经:
- 试过 PHP 5.5 和 5.6 (remi):没有区别
- 将损坏的 PHP 放入
helloworld.php:没有错误 - 将处理程序更改为
- url: /:/ 上的空白页,任何其他 URL 的 404 页面 - 搜索过的 Google 文档:没有帮助
- 搜索 Google:没有帮助
- 问橡皮鸭:没救了
我正在通过 Vagrant 和 Google Cloud SDK 129.0.0 运行 Centos 7.2。
非常感谢任何和所有帮助。
[编辑]
根据要求提供其他数据
$ which php
/usr/bin/php
$ /usr/bin/php -v
PHP 5.5.38 (cli) (built: Sep 19 2016 13:45:10)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
$ which python
/usr/bin/python
$ /usr/bin/python -V
Python 2.7.5
$ cat app.yaml
runtime: php55
api_version: 1
handlers:
- url: /.*
script: helloworld.php
$ cat helloworld.php
<?php
echo 'Hello, World!';
$ dev_appserver.py --php_executable_path=/usr/bin/php --host=192.168.33.44 ./
Updates are available for some Cloud SDK components. To install them, please run:
$ gcloud components update
INFO 2016-10-13 08:21:22,699 devappserver2.py:769] Skipping SDK update check.
INFO 2016-10-13 08:21:22,730 api_server.py:205] Starting API server at: http://localhost:46453
INFO 2016-10-13 08:21:22,737 dispatcher.py:197] Starting module "default" running at: http://192.168.33.44:8080
INFO 2016-10-13 08:21:22,738 admin_server.py:116] Starting admin server at: http://localhost:8000
INFO 2016-10-13 08:21:34,142 module.py:788] default: "GET / HTTP/1.1" 200 -
访问 http://192.168.33.44:8080/ 时来自 Chrome 的响应标头
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html
Date: Thu, 13 Oct 2016 08:21:34 GMT
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Server: Development/2.0
我从 129 更新到 130 但同样的问题存在
【问题讨论】:
-
为了覆盖基础,发布完整的控制台输出,发布您的 app.yaml,并发布您的脚本处理程序文件内容。另外,请确认您安装了 PHP 和 Python 的哪个版本。
-
似乎真的不太可能,但是如果你省略 --host 参数并让它默认为 localhost,你仍然有相同的结果吗?
-
嗨,克里斯!您是否从端口 8000 获得合理的输出?这是本地开发管理页面。
-
@BrettJ 尝试通过 curl 在本地访问它,但仍然得到空白响应和访问日志中的命中。你好汤姆!使用
--admin_host=0.0.0.0我可以看到 int 实例页面。从一个条目开始。在第一个请求之后,显示对原始实例(/ 和 favicon.ico)的 2 个请求,其中列出了另一个实例。每个请求原始实例增加 2,与访问日志活动匹配 -
尝试省略 --php_executable_path=/usr/bin/php 标志。它并不总是必需的。我开始认为它是关于 Centos 或 Vagrant 的特定内容,而 Vagrant 似乎更有可能。
标签: google-app-engine google-app-engine-php