一, 在Storage中建好一个叫wordpress的domain 在SAE上创建应用,安装WordPress for SAE版本的时候会提示要先在Storage中建个wordpress的domain。
二, 在应用的根目录,创建sae.php文件 1).先用svn的工具TortoiseSVN把应用的代码全部checkout到本地。 2).在应用的根目录,创建sae.php文件 代码如下:
1 2 3 4 5 6 7 <?php /* 在SAE的Storage中新建的Domain名,比如“wordpress”*/ define('SAE_STORAGE' ,wordpress); /* 设置文件上传的路径和文件路径的URL,不要更改 */ define('SAE_DIR' , 'saestor://' .SAE_STORAGE.'/uploads' ); define('SAE_URL' , 'http://' .$_SERVER ['HTTP_APPNAME' ].'-' .SAE_STORAGE.'.stor.sinaapp.com/uploads' ); ?>
三, 修改wp-includes/functions.php文件 1).
1 require( ABSPATH . WPINC . '/option.php' );
前添加一行:
1 include( ABSPATH . '/sae.php' ); //调用SAE的Storage文件域名设置 //for SAE
2).注释掉如下代码,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 /*** Step 1: include sae.php ***/ include( ABSPATH . '/sae.php' ); //添加这一行。调用SAE的Storage文件域名设置 require( ABSPATH . WPINC . '/option.php' ); 前添加 /*** Step 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 ; } */ //替换为以下代码 // from php.net/mkdir user contributed notes if (substr ( $target , 0, 10 ) == 'saestor://' ) { return true ; } $target = str_replace ( '//' , '/' , $target );/*** Step 3: 添加代码 ***/ $dir = SAE_DIR; //添加这一行$url = SAE_URL; //添加这一行$basedir = $dir ;/*** Step 4: 添加代码 ***/ //添加如下代码块 if ( !function_exists('utf8_encode' ) ) { function utf8_encode($str ) { $encoding_in = mb_detect_encoding($str ); return mb_convert_encoding($str , 'UTF-8' , $encoding_in ); } } //在这前面添加上述代码 /** * Send a HTTP header to limit rendering of pages to same origin iframes. * * @since 3.1.3 * * @see https://developer.mozilla.org/en/the_x-frame-options_response_header */
四, 修改wp-admin/includes/file.php
1 2 3 4 5 /*** 注释如下代码 ***/ // Set correct file permissions. $stat = stat ( dirname ( $new_file ) );$perms = $stat ['mode' ] & 0000666;@ chmod ( $new_file , $perms );