App Engine无法猜测PHP文件的mimetype

时间:2014-03-20 03:05:22

标签: php google-app-engine mime-types app.yaml

Google App Engine,PHP,Mimetype,app.yaml,static_dir,script,static_files

当我部署我的网站时,PHP文件导致错误消息:

  

无法猜测

的mimetype

这是appl.yaml配置文件:

application: applicationname
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:

- url: /
  script: index.php

- url: /(.+\.php)$
  script: \1

- url: /Client_Pages
  static_dir: Client_Pages

导致错误的文件未在已部署的网站中加载。从我的计算机上的Google App Engine Launcher完全运行相同的文件。

根目录中的index.php文件不会导致错误,并在已部署的网站中运行。

我的已部署网站似乎会加载PHP个文件 静态html文件,但不会同时加载这两个文件?我在同一个PHP文件夹中有HTMLClient_Pages个文件。我想知道这是否会导致问题,但我找不到任何文件说明我无法将它们放在同一个文件夹中。

我尝试在PHP文件中明确引用app.yaml文件,这会导致PHP文件运行,但HTML个文件赢了负荷。

application: yardsalesuperhighway
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:

- url: /Client_Pages/Offered_Menu.php
  script: Client_Pages/Offered_Menu.php

- url: /Client_Pages/InputForm.php
  script: Client_Pages/InputForm.php

- url: /Client_Pages/WantedPage.php
  script: Client_Pages/WantedPage.php

- url: /Client_Pages
  static_dir: Client_Pages

3 个答案:

答案 0 :(得分:2)

您的应用程序无法在没有特定指令的情况下访问存储在static_dir中的文件。

来自文档 -

  

application_readable

     

可选。默认情况下,在静态文件处理程序中声明的文件是   作为静态数据上传并且仅提供给最终用户,他们不能   由应用程序读取。如果此字段设置为true,则文件为   也作为代码数据上传,以便您的应用程序可以阅读它们。

我不确定app.yaml中的处理程序是否可以与静态目录重叠。这不是我测试的东西,如果不可能,我不会感到惊讶。应用程序代码将上载到appengine基础架构中的其他服务中。

答案 1 :(得分:2)

不确定帖子是否仍然打开。我似乎遇到了类似的问题,这对我有用。我所做的是在我保存我的php文件的目录下添加application_readable: truemime_type: text/html。所以也许你的app.yaml应该是这样的:

application: yardsalesuperhighway
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:

- url: /Client_Pages/Offered_Menu.php
  script: Client_Pages/Offered_Menu.php

- url: /Client_Pages/InputForm.php
  script: Client_Pages/InputForm.php

- url: /Client_Pages/WantedPage.php
  script: Client_Pages/WantedPage.php

- url: /Client_Pages
  application_readable: true # allow for php scripts in the dir to be executable by the application (as specified in the documentation provided by Tim)
  mime_type: text/html # assuming the php scripts will be echoing something, have what the echo as html (I got the mime types from http://www.iana.org/assignments/media-types/media-types.xhtml)
  static_dir: Client_Pages

我得到了我的代码,它甚至可以与php脚本能够加载的同一目录中的HTML文件一起工作。

答案 2 :(得分:1)

请考虑使用static_files仅上传您想要静态的文件,而不是使用static_dir:

handlers:

- url: /Client_Pages/(.*\.php)
  script: Client_Pages/\1

- url: /Client_Pages/(.*\.html)
  static_files: Client_Pages/\1
  upload: Client_Pages/.*\.html

- url: /
  script: index.php