0

我有index.php一个

require 'myfolder/folder/lib1.php';

所以在app.yaml我参考:

- url: /myfolder/folder/lib1.php
  script: myfolder/folder/lib1.php

但这lib1.phprequire 'lib2.php';在同一文件夹级别执行另一个操作/myfolder/folder/。所以它会抛出错误 500,因为它找不到lib2.php. 如何在 app.yaml 中正确引用它们?

4

3 回答 3

4

您的 app.yaml 文件用于将来自传入 URL 的请求路由到您要用于处理请求的初始脚本。

您不需要为要从一个脚本包含到另一个脚本的每个 *.php 文件添加路由。

例如,查看运行 wordpress 的app.yaml示例。它只有客户端将访问的 URL,但不是 wordpress 使用的所有 php 脚本。

于 2013-05-21T07:20:14.170 回答
1

您面临的问题很可能与 Google App Engine 无关。在 Google App Engine 上,PHP 文件包含的标准规则仍然适用。这里唯一的潜在区别是文件是只读的(但这不应该对您的情况造成任何问题)。

因此,如果lib1.php需要lib2.php,您需要在需要另一个之前需要后者。这是标准的 PHP 行为:

require 'myfolder/folder/lib2.php'; 
require 'myfolder/folder/lib1.php';

要详细了解究竟是什么导致了 Google App Engine 上的 500 错误,请考虑下载日志并查看它。这也独立于 Google App Engine,因为这是任何网络服务器在 500 错误时可以给出的最佳建议。

于 2013-05-21T11:03:00.650 回答
0

抛出错误 500 基本上是因为 Google App Engine for php 不支持 Facebook php SDK 中使用的 CURL 扩展。与 app.yaml 相关的任何内容都不包括在内。我分叉了官方的 fb sdk git,我现在正在修补解决方案。

于 2013-05-22T03:25:51.250 回答