问题由来:

1. SAE中默认的WP for SAE版本太低, 导致某些基于新版本WordPress的插件不能使用.

2. SAE中单个APP的代码空间仅有100M. 将WordPress中uploads目录替换为SAE的Storage, 可提供10G的存储空间用以存放图片等数据.

安装配置步骤:

  1. 创建新SAE应用, 选择空白php模板, e.g, 新应用ID: stormrider.
  2. 点击管理应用.
  3. 在服务管理中, 开启MySql服务.
  4. 在服务管理中, 点击Storage, 新建一个Domain. (domain name将会在config中用到, 这里取名为stormrider)
  5. 在应用管理中点击代码管理, 创建代码版本, 用svn下载到本地.
  6. 下载需要的WordPress版本, 比如4.2.2, 解压, 拷贝WordPress文件夹中的内容到本地代码目录. 覆盖index.php.
  7. 重命名wp-config-sample.php为wp-config.php. 内容修改为: 
     <?php
    /**
    * WordPress 基础配置文件。
    *
    * 本文件包含以下配置选项: MySQL 设置、数据库表名前缀、
    * 密匙、WordPress 语言设定以及 ABSPATH。如需更多信息,请访问
    * {@link http://codex.wordpress.org/Editing_wp-config.php 编辑
    * wp-config.php} Codex 页面。MySQL 设置具体信息请咨询您的空间提供商。
    *
    * 这个文件用在于安装程序自动生成 wp-config.php 配置文件,
    * 您可以手动复制这个文件,并重命名为 wp-config.php,然后输入相关信息。
    *
    * @Author Elmer Zhang <freeboy6716@gmail.com>
    * @package WordPress
    */ // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
    /** WordPress 数据库的名称 */
    define('DB_NAME', SAE_MYSQL_DB); /** MySQL 数据库用户名 */
    define('DB_USER', SAE_MYSQL_USER); /** MySQL 数据库密码 */
    define('DB_PASSWORD', SAE_MYSQL_PASS); /** MySQL 主机 */
    define('DB_HOST', SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT); /** 创建数据表时默认的文字编码 */
    define('DB_CHARSET', 'utf8'); /** 数据库整理类型。如不确定请勿更改 */
    define('DB_COLLATE', ''); define('WP_USE_MULTIPLE_DB', true); $db_list = array(
    'write'=> array(
    array(
    'db_host' => SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,
    'db_user'=> SAE_MYSQL_USER,
    'db_password'=> SAE_MYSQL_PASS,
    'db_name'=> SAE_MYSQL_DB,
    'db_charset'=> 'utf8'
    )
    ),
    'read'=> array(
    array(
    'db_host' => SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,
    'db_user'=> SAE_MYSQL_USER,
    'db_password'=> SAE_MYSQL_PASS,
    'db_name'=> SAE_MYSQL_DB,
    'db_charset'=> 'utf8'
    )
    ),
    );
    $global_db_list = $db_list['write']; /** replace default wordpress upload URL & DIR with customized storage */
    define('SAE_STORAGE', 'stormrider');
    define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
    define('SAE_URL', 'http://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads'); /**#@+
    * 身份密匙设定。
    *
    * 您可以随意写一些字符
    * 或者直接访问 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 私钥生成服务},
    * 任何修改都会导致 cookie 失效,所有用户必须重新登录。
    *
    * @since 2.6.0
    */
    define('AUTH_KEY', hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_KEY', SAE_SECRETKEY ));
    define('SECURE_AUTH_KEY', hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_KEY', SAE_SECRETKEY ));
    define('LOGGED_IN_KEY', hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_KEY', SAE_SECRETKEY ));
    define('NONCE_KEY', hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_KEY', SAE_SECRETKEY ));
    define('AUTH_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_SALT', SAE_SECRETKEY ));
    define('SECURE_AUTH_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_SALT', SAE_SECRETKEY ));
    define('LOGGED_IN_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_SALT', SAE_SECRETKEY ));
    define('NONCE_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_SALT', SAE_SECRETKEY )); /**#@-*/ /**
    * WordPress 数据表前缀。
    *
    * 如果您有在同一数据库内安装多个 WordPress 的需求,请为每个 WordPress 设置不同的数据表前缀。
    * 前缀名只能为数字、字母加下划线。
    */
    $table_prefix = 'wp_'; /**
    * WordPress 语言设置,默认为英语。
    *
    * 本项设定能够让 WordPress 显示您需要的语言。
    * wp-content/languages 内应放置同名的 .mo 语言文件。
    * 要使用 WordPress 简体中文界面,只需填入 zh_CN。
    */
    define ('WPLANG', 'zh_CN'); /**
    * 开发者专用:WordPress 调试模式。
    *
    * 将这个值改为“true”,WordPress 将显示所有开发过程中的提示。
    * 强烈建议插件开发者在开发环境中启用本功能。
    */
    define('WP_DEBUG', true); /* 好了!请不要再继续编辑。请保存该文件。 */ /** WordPress 目录的绝对路径。 */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/'); /** 设置 WordPress 变量和包含文件。 */
    require_once(ABSPATH . 'wp-settings.php');

    wp-config.php

  8. 注意, 必须在config中添加下列定义, 用来启用自定义Storage: (SAE_STORAGE的值 = 步骤4中创建的domain名字)
  9. 修改wp-includes\functions.php
    1. 替换$target赋值部分代码

    2. 设置dir和url

    3. encoding转换
  10. 修改wp-admin/includes/file.php文件
  11. 通过SVN上传代码, 打开应用链接, 进入WordPress初始化页面, 开始配置站点.

在SAE上搭建自定义版本WordPress, 并用SAE Storage代替WordPress Uploads的更多相关文章

  1. 【网站开发】在新浪SAE上搭建一个博客

    概述 在新浪SAE上搭建一个博客 1.访问新浪SAE站点 http://sae.sina.com.cn/ 2.注册新浪SAE 3.选择应用仓库 4.选择WordPress 5.安装WordPress ...

  2. 从Python爬虫到SAE云和微信公众号:二、新浪SAE上搭建微信服务

    目的:用PHP在SAE上搭建一个微信公众号的服务器. 1.申请一个SAE云账号 SAE申请地址:http://sae.sina.com.cn/  可以使用微博账号登陆,SAE是新浪的云服务,时间也比较 ...

  3. 研究在SAE上搭建最新wordpress

    安装SAE上的wordpress,创建应用选择wordpress模板,安装后是3.4版本 新建一个版本2,下载最新wordpress安装包并解压到版本2中 初步猜想修改地方: 数据库配置:wp-con ...

  4. 在新浪SAE上搭建微信公众号的python应用

    微信公众平台的开发者文档https://www.w3cschool.cn/weixinkaifawendang/ python,flask,SAE(新浪云),搭建开发微信公众账号http://www. ...

  5. 使用python在SAE上搭建一个微信应用,使用有道翻译的api进行在线翻译

    1. 准备,先在使用python一步一步搭建微信公众平台(一)中基本实现自动回复的功能后,接着在有道词典上申请一个key,http://fanyi.youdao.com/openapi?path=da ...

  6. 如何利用pyenv 和virtualenv 在单机上搭建多版本python 虚拟开发环境

    pyenv 和virtualenv分别是干什么的? pyenv帮助你在一台机上建立多个版本的python环境, 并提供方便的切换方法. virtualenv则就是将一个目录建立为一个虚拟的python ...

  7. SAE 上传根目录不存在!请尝试手动创建:./Uploads/Picture/

    请在Application\Common\Conf\config.php中,添加'FILE_UPLOAD_TYPE' => 'Sae'

  8. 一个很简单的php留言板。。。。搭建在sae上的。。。

    我在sae上搭建了一个个人简历的页面: 有兴趣的可以访问  http://671coder.sinaapp.com/ 在做下面一个简单的留言板的时候,卡了我很久,虽然完全没用过php..但是还是最后勉 ...

  9. 在SAE上使用Flask插件

    因为我之前学习的时候使用的是虚拟环境,下载的所有需要用到的插件都在flask这个文件夹里面,SAE上Flask的版本和我本地用的版本对不上,导致有时候import都不对,于是我就把本地的环境直接放到S ...

随机推荐

  1. 未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法

    未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“ ...

  2. NET Core环境并创建运行ASP.NET网站

    kungge 在Windows系统搭建.NET Core环境并创建运行ASP.NET网站 微软于6月27日在红帽DevNation峰会上 正式发布了.NET Core 1.0.ASP.NET 1.0和 ...

  3. IIS启动网站

    在启动一个网站前要先打开一个服务.可是Windows 的提示非常的奇怪: “除非 Windows Activation Service (WAS)和万维网发布服务(W3SVC)均处于运行状态,否则无法 ...

  4. 数字信号处理Day1自制电子音乐

    第一天的课程感觉比較简单,主要介绍Karplus-Strong Algorithm 给出方程 y[n]=αy[n−M]+x[n], x[n]是输入,M是延迟,α是衰弱系数 我们要衰减D次,总的採样数就 ...

  5. Ext2文件系统布局,文件数据块寻址,VFS虚拟文件系统

    注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...

  6. Your build settings specify a provisioning profile with the UUID “65a1f48d-2fa3-44eb-8142-627d9d4455b1”, however, no such provisioning profile was found.

    Your build settings specify a provisioning profile with the UUID “65a1f48d-2fa3-44eb-8142-627d9d4455 ...

  7. 关于一个wpf中的定时器

    http://www.cnblogs.com/royenhome/archive/2010/01/24/1655168.html

  8. Mysql数据库中 ,涉及事物,循环添加数据

    ),),   ) BEGIN declare cnt ; declare i ; declare growthid ; DECLARE t_error INTEGER DEFAULT ;  DECLA ...

  9. JAVA 对象内存分析

    1.jmap -heap pid 或者 jmap -histo pid 2.jmap -dump:file=folder/dumpFileName.txt,format=b pid 3.对3的输出文件 ...

  10. 【转】System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

    安装完ASP.NET,Oracle9i客户端后,使用System.Data.OracleClient访问Oracle数据库如果出现这种错误:System.Data.OracleClient requi ...