SAE安装原版WordPress 3.5移植方法

12-14 | 夜光 | IT记录

一、在线安装向导,根目录sae_app_wizard.xml文件

<appwizard>
	<introduction>
		<name>WordPress 3.5 for SAE</name>
		<author>TAHO</author>
		<homepage></homepage>
		<description>
			<![CDATA[
			<p>WordPress 3.5 简体中文版本,修改自官方3.5版本,多次测试,已完整适用于SAE。支持SVN安装主题、插件,在线编辑主题、插件功能等。</p>
			]]>
		</description>
	</introduction>
	<platform>
		<services>
			<!-- 例:初始化一个域名为:wordpress的Storage,域属性为“public”,更多参数配置请参考Storage的API文档 -->
			<service name="wordpress" params="public">Storage</service>
			<!-- 例:初始化Mysql -->
			<service>Mysql</service>
		</services>
	</platform>
	<code>
		<!-- 初始化页面地址:即应用安装成功后跳转的地址,可以将应用初始化脚本或数据库导入脚本写在该文件中 -->
		<initScript>wp-admin/install.php</initScript>
	</code>
</appwizard>

二、创建SAE的上传路径变量,根目录sae.php文件

<?php
/* 在SAE的Storage中新建的Domain名,比如“wordpress” */
define('SAE_STORAGE',wordpress);
/* 设置文件上传的路径和文件路径的URL,不要更改 */
define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
define('SAE_URL', 'https://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');
?>

三、配置wp-config.php文件中的一些参数

/** 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);

四、修改上传文件的函数为Storage目录,wp-includes/functions.php文件
(1)

require( ABSPATH . WPINC . '/option.php' );

前面加上一句:

include( ABSPATH . '/sae.php' );  //调用SAE的Storage文件域名设置  //for SAE

(2)注释掉如下代码

$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;
}

替换为:

//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

(3)

$basedir = $dir;

上面添加如下代码:

// for SAE begin
$dir = SAE_DIR;
$url = SAE_URL;
//for SAE end

(4)

/**
 * Send a HTTP header to limit rendering of pages to same origin iframes.

上面添加如下代码:

// 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

五、修改文件调用和查看权限,wp-admin/includes/file.php文件
注释掉如下代码:

// Set correct file permissions
$stat = stat( dirname( $new_file ));
$perms = $stat['mode'] & 0000666;
@ chmod( $new_file, $perms );

原文地址:

本文标签:
本文链接: sae-original-wordpress-installed-3-5-transplantation-methods/
版权所有: 玻璃泉, 转载请注明本文出处。

1个评论

  1. 80805588

    高人 有折腾精神,求分享一下百度上传设置吗,目前是用一个插件实现的