
本帖最后由 hcl 于 2013-4-29 23:23 编辑
(图片来自网络)
一、设定SAE的初始化环境需求
注:此步为非必须的,这里是为了以后打包方便建立的,使得你的SAE博客更加规范化。如不需要,可以直接跳到第二步开始。
在根目录下(和index.php 同目录)新建sae_app_wizard.xml文件,内容如下
[mw_shl_code=xml,true] *本站禁止HTML标签噢*
*本站禁止HTML标签噢*
*本站禁止HTML标签噢* WordPress for SAE</name>
*本站禁止HTML标签噢* TAHO</author>
*本站禁止HTML标签噢*
<![CDATA[ *本站禁止HTML标签噢* WordPress简体中文版本,修改自官方版本,已完整适用于SAE。支持SVN安装主题、插件,在线编辑主题、插件功能等。</p> ]]>
</description>
</introduction>
*本站禁止HTML标签噢*
*本站禁止HTML标签噢*
<!-- 初始化应用中启用的服务,根据需要启用 -->
<service name="wordpress" params="public">Storage</service>
<!-- 例:初始化一个域名为:wordpress的Storage,域属性为“public”,更多参数配
置请参考Storage的API文档 -->
*本站禁止HTML标签噢* Mysql</service>
<!-- 例:初始化Mysql -->
</services>
</platform>
*本站禁止HTML标签噢*
<!-- 初始化页面地址:即应用安装成功后跳转的地址,可以将应用初始化脚本或数据库导入
脚本写在该文件中 -->
*本站禁止HTML标签噢* wp-admin/install.php</initScript>
</code>
</appwizard> [/mw_shl_code]
二、创建SAE的上传路径变量
在根目录下新建文件sae.php,内容如下:
[mw_shl_code=php,true]<?php
/**设置SAE应用里的Storage的Domain名(域名)**/
/**Set the domain name of storage belongs to your app. **/
define('SAE_STORAGE',wordpress);
//请把这里的wordpress修改为你的Storage域名
//Please change "wordpress" to your own domain.
/**这里是设置文件上传的路径和文件路径的URL,不要更改**/
/**Here are the dir path & url path of the uploaded files,leave this,
DO NOT Change.**/
define('SAE_DIR','saestor://'.SAE_STORAGE.'/uploads');
define('SAE_URL','http://'.$_SERVER['HTTP_APPNAME']. '-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');[/mw_shl_code]
三、配置WordPress的安装数据库连接参数
打开wp-config.php,修改数据库连接信息为:
[mw_shl_code=php,true]// ** 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); [/mw_shl_code]
四、修改上传文件的函数为Storage目录
打开wp-includes/functions.php,逐步修改如下:
1.在require( ABSPATH . WPINC . '/option.php' );前面加上一句:
include( ABSPATH . '/sae.php' ); //调用SAE的Storage文件域名设置 //for SAE2.修改 function wp_mkdir_p( $target ) { 处,把
[mw_shl_code=php,true]$wrapper = null;
// strip the protocol
if( wp_is_stream( $target ) ) {
list( $wrapper, $target ) = explode( '://', $target, 2 );
}
// from php.net/mkdir user contributed notes
$target = str_replace( '//', '/', $target );
// put the wrapper back on the target
if( $wrapper !== null ) {
$target = $wrapper . '://' . $target;
} [/mw_shl_code]
直接替换为
[mw_shl_code=php,true]//for SAE begin
// from php.net/mkdir user contributed notes
if ( substr($target, 0, 10) == 'saestor://' ) {
return true;
}
$target = str_replace( '//', '/', $target );
//for SAE end[/mw_shl_code]
3.在$basedir = $dir;上方添加下面两行:
[mw_shl_code=php,true]// for SAE begin
$dir = SAE_DIR;
$url = SAE_URL;
//for SAE end[/mw_shl_code]
4.在/*** Send a HTTP header to limit rendering of pages to same origin iframes. 注释段之前添加:
[mw_shl_code=php,true]// for SAE begin
if ( !function_exists('utf8_encode') ) {
function utf8_encode($str) {
$encoding_in = mb_detect_encoding($str);
return mb_convert_encoding($str, 'UTF-8', $encoding_in);
}
}
//for SAE end
[/mw_shl_code]
保存退出。
五、修改文件调用和查看权限
打开wp-admin/includes/file.php并修改。
将
[mw_shl_code=php,true]// Set correct file permissions
$stat = stat( dirname( $new_file ));
$perms = $stat['mode'] & 0000666;
@ chmod( $new_file, $perms );
修改为(即注释掉)
//for SAE begin
// Set correct file permissions
//$stat = stat( dirname( $new_file ));
//$perms = $stat['mode'] & 0000666;
//@ chmod( $new_file, $perms );
//for SAE end[/mw_shl_code]
再将
[mw_shl_code=php,true]// Set correct file permissions
$stat = stat( dirname( $new_file ));
$perms = $stat['mode'] & 0000666;
@ chmod( $new_file, $perms );
修改为(也即注释掉)
//for SAE begin
// Set correct file permissions
//$stat = stat( dirname( $new_file ));
//$perms = $stat['mode'] & 0000666;
//@ chmod( $new_file, $perms );
//for SAE end[/mw_shl_code]
上面修改的两个是相同的,但是这是不同的两段,都要修改。
作者:TAHO@ blog.tahoroom.com
根据其文章整理