0

我对 GAE 完全陌生,我正在尝试安装并开始使用 GAE PHP SDK。

我无法按照第一个Hello, World! 的说明进行操作!启动服务器的示例。

由于我是新手,我似乎无法弄清楚我哪里出错了。我得到了我一直在输入的所有文件路径和说明。

我正在使用 Windows XP 32 位。我已按照说明安装了 Python 2.7.5(在 Windows 上安装 PHP SDK。我将 PHP 和Google Appengine提取到c:\documents and settings\username\.

这些是我的文件路径:

  • PHP:C:\documents and settings\userName\php
  • 谷歌应用引擎:c:\documents and settings\userName\google_appengine
  • helloworld 测试文件和 yaml 文件“app.yaml”:c:\documents and settings\userName\helloworld

在命令行上,我按照指示输入(在第一个Hello, World!示例中)

C:\Documents and Settings\userName> "google_appengine/dev_appserver.py" --php_executable_path = "C:/Documents and Settings/userName/php" helloworld/

我收到以下错误:

google.appengine.tools.devappserver2.errors.InvalidAppConfigError: "C:/Documents and Settings/userName/php" 是一个目录,需要一个yaml配置文件

追溯是(包括最后的错误):

文件“C:\Documents and Settings\userName\google_appengine\dev_appserver.py”,第 182 行,在 run_file(file, globals())
文件“C:\Documents and Settings\userName\google_appengine\dev_appserver.py”,第 178 行,在 _run_file execfile(script_path, globals)
文件“C:\Documents and Settings\userName\google_appengine\google\appengine\tools\devappserver2\devappserver2.py”,第 695 行,在 main() 文件“C:\Documents and Settings \userName\google_appengine\google\appengine\tools\devappserver2\devappserver2.py”,第 688 行,在主 dev_server.start(options)
文件“C:\Documents and Settings\userName\google_appengine\google\appengine\tools\devappserver2\ devappserver2.py”,第 525 行,在 start options.yaml_files 中)
文件“C:\Documents and Settings\userName\google_appengine\google\appengine\tools\devappserver2\application_configuration.py”,第 541 行,在 init yaml_path 中)
google.appengine.tools.devappserver2.errors.InvalidAppConfigError:“C:/Documents而Settings/userName/php”是目录,需要yaml配置文件

4

2 回答 2

3

该参数--php_executable_path应该是 php-cgi 二进制文件的路径,而不是它所在的文件夹。

于 2013-05-19T05:32:06.420 回答
0

请按照测试应用程序部分中的指示进行操作:

google_appengine/dev_appserver.py --php_executable_path=<path to php-cgi> helloworld/

您似乎希望了解<path to php-cgi>这种情况下的含义。您显然尝试使用目录进行此操作,但是,这是 PHP 二进制文件的路径,即可执行文件。

在 Windows 上,这通常称为program。所以你需要把php-cgi程序的路径放在那里,而不是php-cgi目录的路径。

为了进一步了解错误消息以及如何修复它:

您可能还在寻找可以从以下位置检索错误消息的信息:

它位于 Python 中 Stacktrace 的末尾:

google.appengine.tools.devappserver2.errors.InvalidAppConfigError: "C:/Documents and Settings/userName/php" 是一个目录,需要一个yaml配置文件

如果您仔细阅读,您可以逐字看到以下文本:

“C:/Documents and Settings/userName/php”是目录,需要yaml配置文件

所以你传递了一个目录,而不是helloworld/那个包含 yaml 文件的目录。即"C:/Documents and Settings/userName/php".

您显然打算将该目录用于 PHP 可执行路径 - 正如已经概述的那样 - 有点错误,而是需要二进制文件。但是,它显然甚至没有为此设置,因为您不明白您不能只在命令行上随意引入您认为可以随意使用的空格。

要使错误消失,您需要真正遵循说明,它们已被记录下来是有原因的。所以:

  • 不要在说明没有空格的地方写空格。命令行上的空格通常具有特殊含义。
  • 仔细阅读错误信息并首先理解它们。
  • 路径可以表示目录,也可以表示文件。
  • 使用二进制文件的路径,而不是使用包含二进制文件的目录的路径。
C:\Documents and Settings\userName> "google_appengine/dev_appserver.py" --php_executable_path="C:/Documents and Settings/userName/php/php-cgi.exe" helloworld/
于 2013-05-19T08:45:07.993 回答