【发布时间】:2019-03-27 00:21:11
【问题描述】:
我正在试验migration my php 5.5 google app engine site to a php 7.2 网站。我看到的最大区别是,我们需要定义一个入口点(例如 index.php),而不是在 app.yaml 中定义单独的 url 处理程序,并且所有 php 请求都通过它进行路由。然后 index.php 应该包含处理各种 url 路径并需要正确的 php 脚本的代码。
迁移文档说,在 localhost 上进行测试时,我们应该只使用内置的 PHP 网络服务器,而不是运行一个特殊的 GAE dev_server:
php -S localhost:8080
但是,当我这样做时,它不会向我的 index.php 发送所有请求,因此我的路由代码都没有被使用。
我需要做什么才能在 localhost 上测试我的 GAE 站点?
我在 Mac 上,并且在命令行上安装了 php 7.1。 7.1 和 7.2 的区别是不是让我头疼?
编辑:
我阅读了内置 PHP 网络服务器上的文档,看起来我需要在启动网络服务器时将路由器脚本作为参数传递:
php -S localhost:8080 index.php
但是,当我这样做时,我的所有静态资源(列在我的 app.yaml 中)都会停止服务。他们在我的路由器脚本的末尾被捕获,该脚本将任何未找到的内容发送到 404.php 脚本。
【问题讨论】:
-
安装 MAMP,它将为您提供比 PHP 内置更强大的本地 Web 服务器。
-
Google App Engine 不会这样做,所以这会让我误以为该网站正在运行。而且我在 Mac 上,我永远不会安装 MAMP,因为 Mac 有 UNIX 基础,所以我通常只有自己的 Apache 和 MySQL 实例。
标签: php google-app-engine php-7.1 php-7.2