我在GAE .yaml
设置方面遇到了一些问题。
以下是我的文件路径(对不起链接,但我无法发布图片):
http://i.imgur.com/ujJkjSD.jpg
http://i.imgur.com/wfhqi7x.jpg
我的yaml文件:
part 1
application: pricecrawler-maja
version: 1
runtime: php55
api_version: 1
handlers:
- url: /src
static_dir: src
- url: /vendor/moderna/
static_dir: vendor/moderna
- url: /vendor/twbs/
static_dir: vendor/twbs
- url: /404\.html
script: /404.html
以下是我不知道如何设置的php文件, 所以我就这样输入。
part 2
- url: /discount_book.php
script: discount_book.php
- url: /discount_book_print.php
script: discount_book_print.php
- url: /discount_view.php
script: discount_view.php
- url: /src/LIB_http.php
script: src/LIB_http.php
# and so on... I have typed every single php file into the yaml.
part 3
# Serve php scripts.
- url: /src/(.+\.php)
script: src/\1
- url: /(.+\.php)
script: \1
- url: /.*
script: index.php
我的一些php文件包含如下代码:
include_once "src/LIB_http.php";
include_once "basic_class.php";
当我在我的电脑上运行它(在本地使用wamp和GAE Launcher)和OpenShift时,网站运行正常。
我知道GAE yaml使用正则表达式来定义文件方向。
我第一次部署项目时(yaml文件只包含第1部分和第2部分), GAE的网站出现故障 第二次我修改了app.yaml,网站仍然出现故障 我认为问题是app.yaml。
我该如何解决这个问题?
答案 0 :(得分:0)
可能会有更多问题,但在您app.yaml
的最开始时事情就会被打破:
handlers:
- url: /src
static_dir: src
这意味着/src
中的所有文件都将静态提供,不在App Engine实例中运行 - 结果是/src
下的文件不是甚至上传到与应用程序其余部分相同的位置。
当然,其他PHP文件中的include_once "src/LIB_http.php"
等代码也不起作用:记住,您告诉App Engine /src
是要提供的 static 文件的目录,不要运行应用程序文件,因此src/LIB_http.php
未上传其他应用程序的文件。
为什么您认为要从/src
提供静态文件?删除该节(我建议删除所有"第2部分和第34部分;因为"第3部分和第34部分中的正则表达式应该能够自己完成这项工作)你可能有其他的错误(我不能从这里调试你的应用程序:-)至少这个主要的,明显的将会消失。