0

index.php

require 'myfolder/folder/lib1.php';

だからapp.yaml私は参照します:

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

しかし、これは同じフォルダーレベルでlib1.php別のことを行います。が見つからないため、エラー500が発生します。app.yaml で両方を適切に参照するにはどうすればよいですか?require 'lib2.php';/myfolder/folder/lib2.php

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 エラーの Web サーバーで提供できる最良の提案だからです。

于 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 に答える