我在GAE .yaml
设置中遇到了一些问题。
这是我的文件路径(抱歉链接,但我还不能发布图像):
https://i.stack.imgur.com/q4fNb.jpg https://i.stack.imgur.com/moIcm.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";
当我在我的pc上运行它(使用wamp和GAE Launcher本地)和OpenShift时,该网站工作正常。
我知道GAE使用正则表达式来定义文件方向。
我第一次部署我的项目(yaml文件只包含第1部分&2),GAE网站出现故障。
我第二次按照上面的方法修改app.yaml,网站还是不能正常运行。
我认为问题出在app.yaml上。
我该如何解决这个问题?
可能会有更多的问题,但事情开始在你的app.yaml
的一开始就坏了:
handlers:
- url: /src
static_dir: src
这意味着/src
中的所有文件都将被静态地服务,而不是在您的应用程序引擎实例中运行-因此,/src
下的文件甚至不上传到与应用程序其余部分相同的地方。
所以像include_once "src/LIB_http.php"
这样的代码在其他PHP文件中当然不会工作:记住,你告诉应用引擎/src
是要服务的静态文件的目录,而不是要运行的应用文件,所以src/LIB_http.php
不会与应用程序的其余文件一起上传。
为什么你认为你想从/src
静态文件服务?删除该节(我建议也删除所有的"第2部分",因为"第3部分"中的正则表达式应该能够自己完成这项工作),虽然你可能有其他错误(我不能从这里调试你的应用程序:-)至少这个主要的,明显的一个会消失。