为 WordPress 编译安装 PHP 7.0.3 亲测全攻略

PHP7 有什么好处?

首先,比 PHP5 占用更低内存;其次,性能快一倍以上;最后,WordPress 的 QPS 可以提升到原来的 3 倍左右。 继续阅读为 WordPress 编译安装 PHP 7.0.3 亲测全攻略

BAE 迁移 SAE 步骤

1、创建 SAE 应用;
2、下载 WordPress 3.8 For SAE v1217 并安装;
3、从 BAE 导出 sql 数据文件,在 SAE 中导入;
4、修改域名指向,至此 SAE 新网站可以正常访问;
5、通过 SVN 将原主题目录上传到 SAE 代码库中。

待完成:将 BAE bucket 用 API 打包下载后通过 SAE storage 客户端上传到 SAE storage 中,以保证媒体库不会裂图。

BAE 2.0 上 wordpress 3.5.2 原版发邮件的方法

注意!!由于 BAE 2.0 已经全面下线,本文内容不再有用!!

本站用的就是最新的原版的 wordpress 3.5.2 。玻璃泉上的 《BAE上原版wordpress发邮件教程》 文章已经说得很清楚了。以下五个步骤是根据此文针对最新 SDK 作出的修改后亲测有效的方法。

1、下载“Bcms.class.php”文件和“lib”文件夹的压缩包,也就是官方的 SDK(来自消息队列的官方文档)。后将它们放入wp-includes目录下。“sample”文件夹不用放进去。

2、接下来,在 wordpress 根目录下的 wp-config.php 文件中加入如下几行(如果已有则不用重复添加):

/* 消息队列 */
define('BCMS_QUEUE','您的消息队列名那一串');
$bcms_host = 'bcms.api.duapp.com';
/* accessKey 和 secretKey 消息队列要用 */
$accessKey = getenv('HTTP_BAE_ENV_AK');
$secretKey = getenv('HTTP_BAE_ENV_SK');

3、然后打开 wp-includes 下的 pluggable.php 文件,查找

if ( !function_exists( 'wp_mail' ) ) :

在它的上一行添加如下代码:

/**
* BAE Send Mail
* BCMS
*/
if ( !function_exists( 'wp_mail' ) ) :
function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() ) {
require_once ABSPATH . WPINC . '/Bcms.class.php';
$bcms = new Bcms ( $accessKey, $secretKey, $bcms_host) ;
$ret = $bcms->mail ( BCMS_QUEUE, $message, array($to), array( Bcms::MAIL_SUBJECT => $subject)) ;
if ( false === $ret ) {
return false;
} else {
return true;
}
}
endif;

4、这样就行了,可以正常发出来自 BCMS 的电子邮件了。发出的邮件不出意料的落在的垃圾邮件文件夹里:

用 BAE BCMS 发出的 wordpress 重设密码邮件用 BAE BCMS 发出的 wordpress 重设密码邮件

5、Bcms 的 class 不能重复定义。BAE 环境中已经内置了一些定义,所以把报重定义 Fatal Error 的 PHP 文件内的内容全部注释掉即可。

最后,距离前文提到的《BAE上原版wordpress发邮件教程》 撰文的 2012-11-15 已经过去了一年半多,可以看到现在本文代码中调用 BCMS 的方法和那时的已经略有不同,需要 $accessKey 和 $secretKey 和指定 $bcms_host。

BCMS 的 SDK 也许将来还会再作修改,到时应该以官方的 SDK 里的 sample.php 的方法为准。

6、BAE 2.0 的 BCMS 服务有配额,配额里发邮件次数用完了就不能再发邮件了。据 BAE 客服回复,BAE 3.0 可以直接发邮件,不需要 mail 服务。有条件的可以往 BAE 3.0 (收费) 迁移,就省去这个麻烦了。

测试 BAE 下 wordpress 插入图片是否正常

公司一角的一束红玫瑰
工位的玫瑰

以上是用 wordpress 的媒体库功能直接传到 /wp-content/uploads/ 下的测试。不考虑浏览器缓存的情况下,这个图片文件只能当天保持,之后就消失了。

 

天使的翅膀
天使的翅膀

以上是直接传到 bucket 下的测试

 

用 BAE 的 搭建的 wordpress 是否能够正常插入图片? 这是用 BAE 搭建的 wordpress 添加图片媒体的测试。

可见,"工位的玫瑰"图片自动上传后的地址是 https://www.bokeyy.com/wp-content/uploads/2013/07/YqDZ7.jpg  ,依然是在 wp-content 的 upload 目录下。

结果可见, https://www.bokeyy.com/wp-content/uploads/2013/07/YqDZ7.jpg   这个文件只是临时存在,明天就会被清除,而 buckets 才是可以一直存在的。

http://mawenjian.net/p/1018.html 下载了个 百度云附件(BCS Support) v1.1 的 wordpress 插件,再用同样的方法传了张图"天使的翅膀"到 https://www.bokeyy.com/wp-content/uploads/2013/07/IMG_1879.jpg ,是正解的使用 BAE 上的 wordpress 传文件的方法。

附赠批量替换所有旧的媒体库文件地址为新的 BAE 文件地址的 SQL 语句:
update wp_posts set post_content=replace(post_content ,’http://www.yymwz.com/wp-content/uploads/’,’http://bcs.duapp.com/yuanyuanmwz/’)