WordPress3.4简单移植至SAE

WordPress3.4简单移植至SAE

整体上来说WordPress移植SAE还是很简单的,不需要改太多代码,因为基本没有文件读写,就一个文件上传需要修改。


首先第一个改的是配置文件wp-config.php,这里我是直接复制官方应用仓库的WP配置文件 未经允许严禁转载

define('DB_NAME', SAE_MYSQL_DB);
define('DB_USER', SAE_MYSQL_USER);
define('DB_PASSWORD', SAE_MYSQL_PASS);
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'];
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 ));
$table_prefix  = 'wp_';
define ('WPLANG', 'zh_CN');
define('WP_DEBUG', false);
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');

WP会自动创建上传目录,而sae的storage写文件的时候会自动创建目录,所以得改掉

leo108's blog

在wp-includes/functions.php WordPress

搜索“function wp_mkdir_p( $target )”,函数内容直接改成return true;。

http://leo108.com

接下来是文件上传代码,还是在wp-includes/functions.php SAE

找到wp_upload_dir函数,将

leo108's blog

if ( empty($upload_path) ) {
    $dir = WP_CONTENT_DIR . '/uploads';
} else {
    $dir = $upload_path;
    if ( 'wp-content/uploads' == $upload_path ) {
        $dir = WP_CONTENT_DIR . '/uploads';
    } elseif ( 0 !== strpos($dir, ABSPATH) ) {
        // $dir is absolute, $upload_path is (maybe) relative to ABSPATH
        $dir = path_join( ABSPATH, $dir );
    }
}

if ( !$url = get_option( 'upload_url_path' ) ) {
    if ( empty($upload_path) || ( 'wp-content/uploads' == $upload_path ) || ( $upload_path == $dir ) )
        $url = WP_CONTENT_URL . '/uploads';
    else
        $url = trailingslashit( $siteurl ) . $upload_path;
}

if ( defined('UPLOADS') && !$main_override && ( !isset( $switched ) || $switched === false ) ) {
    $dir = ABSPATH . UPLOADS;
    $url = trailingslashit( $siteurl ) . UPLOADS;
}

if ( is_multisite() && !$main_override && ( !isset( $switched ) || $switched === false ) ) {
    if ( defined( 'BLOGUPLOADDIR' ) )
        $dir = untrailingslashit(BLOGUPLOADDIR);
    $url = str_replace( UPLOADS, 'files', $url );
}

直接替换成 采集者烂JJ

$dir = 'saestor://wordpress/uploads';  //wordpress是你的storage domain
$url = 'http://' . $_SERVER['HTTP_APPNAME'] . '-wordpress.stor.sinaapp.com/uploads';

这样就全部修改完毕了,当然这只是简单的移植,后台的插件和主题安装、升级都是不能正常使用的。 http://leo108.com

而且很多涉及到文件IO的插件也是不能直接使用的,我会陆续将一些插件的移植方法发上来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值