我在尝试使用他们在谷歌应用引擎上的服务器端口8080将我的PHP应用程序传输和运行到本地环境时遇到了问题。我对app.yaml的工作方式有问题。以下是我的应用程序代码:
application: huge
version: 1
runtime: php55
api_version: 1
handlers:
- url: /.*
script: public/index.php
- url: /login/index
script: application/view/login/index.php
第一个url和scrip工作。然而,我的应用程序与XAMPP上的正常应用程序不同。PHP应用程序的结构是MVC,这意味着PHP文件不在根目录中,而是在有组织的文件夹中,我在XAMPP中使用laravel和composer。我现在正在将此应用程序转移到GAE。主根文件在public/index.html中,但所有其他文件都在文件夹中,正如您所看到的,我尝试在第二个脚本调用中调用一个页面,如application/view/login/index.php
。此外,public/css
文件夹中的css没有加载,因此样式已从应用程序中删除。我必须告诉谷歌应用引擎每一条路线吗?如果是这样的话,有人能给我举一个例子吗?第二个调用是如何工作的,我也会如何调用我的css来工作。
app.yaml
文件中处理程序的顺序很重要,将使用第一个模式匹配。
在您的情况下,/login/index
实际上与/.*
匹配,因此它将被传递给第一个处理程序。要执行您期望的操作,您需要交换处理程序的顺序。
您可能还需要为非php文件(例如css文件)添加静态文件/dirs处理程序
您应该花一些时间让自己熟悉配置php应用程序:https://cloud.google.com/appengine/docs/php/config/appconfig