2

我正在尝试根据https://developers.google.com/appengine/articles/wordpress上的说明设置 Google App Engine 和 Wordpress 3.8 版

但是当我跑步时,$ APP_ENGINE_SDK_PATH/dev_appserver.py APPLICATION_DIRECTORY我得到了错误

无法分配值'wordpress/。.(htm|html|css|js)$' 属性 'upload:' 值 'wordpress/. .(htm|html|css|js)$' 用于上传与 app.yaml 第 9 行列中的表达式 '^(?:(?!\^).*(?!\$).)$' 不匹配11

这是我的 app.yaml 文件的内容:

application: thangvmwordpressdemo
version: 1
runtime: php
api_version: 1

handlers:
- url: /(.*\.(htm|html|css|js))$
  static_files: wordpress/\1
  upload: wordpress/.*\.(htm|html|css|js)$
  application_readable: true

- url: /wp-content/(.*\.(ico|jpg|png|gif))$
  static_files: wordpress/wp-content/\1
  upload: wordpress/wp-content/.*\.(ico|jpg|png|gif)$
  application_readable: true

- url: /(.*\.(ico|jpg|png|gif))$
  static_files: wordpress/\1
  upload: wordpress/.*\.(ico|jpg|png|gif)$

- url: /wp-admin/(.+)
  script: wordpress/wp-admin/\1
  secure: always

- url: /wp-admin/
  script: wordpress/wp-admin/index.php
  secure: always

- url: /wp-login.php
  script: wordpress/wp-login.php
  secure: always

- url: /wp-cron.php
  script: wordpress/wp-cron.php
  login: admin

- url: /xmlrpc.php
  script: wordpress/xmlrpc.php

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

- url: /(.+)?/?
  script: wordpress/index.php

你能让我解决这个问题吗?太感谢了!

4

4 回答 4

7

截至 2014 年 1 月 19 日,该文章不适用于当前的 Google App Engine for PHP SDK v1.8.9 (Windows)。问题是 handlers.upload 属性的最终正则表达式结尾 ($)。我不确定为什么会发生这种情况以及何时会得到修复,但是,您可以尝试以下任何一种解决方法:

您必须删除它:

handlers:
- url: /.*\.(htm|html|css|js)
  static_files: wordpress/\1
  upload: wordpress/.*\.(htm|html|css|js)
  application_readable: true

或使用语义等价的(错误的):

handlers:
- url: /.*\.(htm|html|css|js)
  static_files: wordpress/\1
  upload: wordpress/.*\.(htm$|html$|css$|js$)
  application_readable: true

干杯!!

于 2014-01-19T17:53:38.220 回答
1

该文档最近进行了更新,以反映在正则表达式验证中所做的更改。验证由 SDK 在客户端和服务器端(应用程序引擎)完成。请确保您使用的是 1.8.9 SDK(当前),否则以 $ 结尾的正则表达式将不起作用。

于 2014-01-15T23:22:16.627 回答
0

也有这个问题。您需要下载最新版本的 appengine SDK for PHP。现在是1.9.2。如果您仍然需要旧版本,您可以维护单独的版本。

于 2014-04-14T05:39:51.990 回答
0

+1 对 Boombatower 的评论;使用我们在此处发布的 WordPress 的 GitHub“入门项目”可能会更好:https ://github.com/GoogleCloudPlatform/appengine-php-wordpress-starter-project

那篇文章很难理解,因为完成所有这些步骤与克隆一个 git 项目并继续使用它之间存在如此大的差异,而且它的更新频率也较低,因为 git 项目是在几位 Google 员工中“众包”的,而这篇文章由一位具有许多其他优先事项的作家撰写。

这是该项目的 app.yaml 文件,用于比较: https ://github.com/GoogleCloudPlatform/appengine-php-wordpress-starter-project/blob/master/app.yaml

于 2014-01-15T23:47:18.750 回答