我正在遵循GAE PHP教程,但我无法获得本地开发服务器的正确响应。
我用
运行它 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):没有区别 在
- 将处理程序更改为
- url: /
: blank page on/, 404 page for任何其他URL - 搜索Google Docs: no help
- 搜索Google: no help
- 问橡皮鸭:no help
helloworld.php
中放置错误的PHP:没有错误我正在运行Centos 7.2通过Vagrant和Google Cloud SDK 129.0.0。
非常感谢大家的帮助。
[编辑]请求的附加数据
$ 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 -
Chrome浏览器访问http://192.168.33.44:8080/时的响应头
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,但同样的问题存在
原来这个问题是一个微不足道的疏忽…
dev_appserver.py --php_executable_path=/usr/bin/php --host=192.168.33.44 ./
应该是
dev_appserver.py --php_executable_path=/usr/bin/php-cgi --host=192.168.33.44 ./
App Engine 需要php-cgi二进制文件,而不是cli二进制文件。结束了绊倒在文档前一段时间,但忘记回到这里并张贴答案