最新的WordPress如果不出大的变动,这样的方法应该是通用的。

1 新建空应用test

2 管理应用

3 点击MySql,部署数据库,得到用户名密码等信息

4 安装SVN,建立文件夹test,在test内部建立文件夹1,表明版本号为1

5 在文件夹1上右键点击checkout,之后填用户名密码(为了方便以后不在填写可以勾上方框使得以后都记住密码)后同步,完成

6 下载wordpress,解压

7 将wordpress目录内的文件全部复制到文件夹1里面

8 用IDE编辑器打开wp-config-sample.php,修改MySql数据库用户名密码等信息为刚才得到的用户名密码。
一般都是如下代码:
[cc lang=”php”]
// ** 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);
[/cc]

9 另存为wp-config.php

10 返回到文件夹1,现在会看到文件夹1图标上有了蓝色的加号,在文件夹1上右键点submit,填写更新的信息,比如填写“add files”,然后点OK。以后修改了文件或增加了文件都要用TSVN来管理,教程和说明文档请看链接:http://sae.sina.com.cn/?m=devcenter&catId=212

11 完成后会显示complete,版本号会显示为version1,以后每更新一次版本号会增加1

12 打开浏览器,输入http://test.sinaapp.com/wp-admin/install.php

13 顺利的话会看到wordpress的安装页面,著名的5分钟安装出现了

14 安装完成。

15 这样的WordPress还远没有设置好

16 管理应用,启用并新建Storage的域名,比如是test

17 修改 wp-admin/includes/file.php

[cc lang=”php”]

// Set correct file permissions

$stat = stat( dirname( $new_file ));

$perms = $stat[‘mode’] & 0000666;

@ chmod( $new_file, $perms );

[/cc]

修改为

[cc lang=”php”]

//for SAE begin

// Set correct file permissions

//$stat = stat( dirname( $new_file ));

//$perms = $stat[‘mode’] & 0000666;

//@ chmod( $new_file, $perms );

//for SAE end

[/cc]

18 修改(目的是能上传文件,SAE是不能通过网页上传文件到网站目录的,所以我们要上传到Storage里)Wp-include/functions.php文件,找到函数function wp_upload_dir的定义块,修改为如下代码
[cc lang=”php”]
if ( is_multisite() && !$main_override && ( !isset( $switched ) || $switched === false ) ) {
if ( defined( ‘BLOGUPLOADDIR’ ) )
$dir = untrailingslashit(BLOGUPLOADDIR);
$url = str_replace( UPLOADS, ‘files’, $url );
}

// for SAE
$dir = ‘saestor://test/uploads’; //test是你的StorageDomain名字啊
$url = ‘http://’ . $_SERVER[‘HTTP_APPNAME’] . ‘-test.stor.sinaapp.com/uploads’; //test是你的应用名字

$bdir = $dir;
$burl = $url;

$subdir = ”;
[/cc]
用TSVN 点右键commit(提交)

19 修改wp-includes/里的media.php文件(目的是在插入图片后不跳出错误,并能显示缩略图)

增加语句
[cc lang=”php”]
if ( !is_null($dest_path) and $_dest_path = realpath($dest_path) )
$dir = $_dest_path;
$destfilename = “{$dir}/{$name}-{$suffix}.{$ext}”;
$tmp = tempnam(SAE_TMP_PATH, ‘WPIMG’); //为了SAE,增加这一句
[/cc]
找到
[cc lang=”php”]
imagedestroy( $newimage );

Set correct file permissions
$stat = stat( dirname( $destfilename ));
$perms = $stat[‘mode’] & 0000666; //same permissions as parent folder, strip off the executable bits
@ chmod( $destfilename, $perms );

return $destfilename;
[/cc]
改为(注释掉语句)
[cc lang=”php”]
imagedestroy( $newimage );

// Set correct file permissions //为了SAE
//$stat = stat( dirname( $destfilename )); //为了SAE
//$perms = $stat[‘mode’] & 0000666; //same permissions as parent folder, strip off the executable bits //为了SAE
//@ chmod( $destfilename, $perms ); //为了SAE

return $destfilename;
[/cc]

找到[cc lang=”php”]if ( IMAGETYPE_GIF == $orig_type ) [/cc]段,将内容替换为
[cc lang=”php”]
//为了SAE
if ( IMAGETYPE_GIF == $orig_type ) {
if ( !imagegif( $newimage, $tmp ) || !copy($tmp, $destfilename) )
return new WP_Error(‘resize_path_invalid’, __( ‘Resize path invalid’ ));
} elseif ( IMAGETYPE_PNG == $orig_type ) {
if ( !imagepng( $newimage, $tmp ) || !copy($tmp, $destfilename) )
return new WP_Error(‘resize_path_invalid’, __( ‘Resize path invalid’ ));
} else {
// all other formats are converted to jpg
$destfilename = “{$dir}/{$name}-{$suffix}.jpg”;
if ( !imagejpeg( $newimage, $tmp, apply_filters( ‘jpeg_quality’, $jpeg_quality, ‘image_resize’ ) ) || !copy($tmp, $destfilename) )
return new WP_Error(‘resize_path_invalid’, __( ‘Resize path invalid’ ));
}
[/cc]
这样上传图片就会到Storage里的uploads了,缩略图调用功能就恢复了,上传界面的缩略图就能正常显示了。如果不修改,缩略图就不能成功调用,笔者亲自试验过了。

用TSVN 点右键commit(提交)

20 修改

在句子”$dst_file = preg_replace( ‘/.[^.]+$/’, ‘.jpg’, $dst_file );”后增加

[cc lang=”php”]

$tmpfile = tempnam(SAE_TMP_PATH, ‘WPIMG’); //FOR SAE
if ( imagejpeg( $dst, $tmpfile, apply_filters( ‘jpeg_quality’, 90, ‘wp_crop_image’ ) ) && copy($tmpfile, $dst_file) )
return $dst_file;
else
return false;

[/cc]

20 到此就架设完成。插件部分我会分别写出。转载请注明出处,谢谢合作。
——TAHO 2012.11.11
http://tahoroom.sinaapp.com/
以后会增加域名https://www.taholab.com/的,敬请访问。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注