让LifeType在php7下运行

nianbai  2021/02/28, 05:50

一、前言

LifeType是一个用php语言写的多用户的blog系统程序,官网最后的发布版本为LifeType 1.2.12。

对于LifeType 1.2.12,当时推荐的比较理想的运行环境也就是Apache 2.2 + PHP 5.2 + MySQL 5.1了。

虽然不做修改的话,LifeType 1.2.12也能在Apache 2.4 + PHP 5.4 + MySQL 5.6下跑起来。但是现在看来,这个php版本也是比较老了。

二、让LifeType支持php7

1.对此,一位希腊的网友Alexandros在2019年对内部开发版本LifeType 1.2.13-dev做了支持php7的修改。

这是下载地址https://github.com/acoul/lifetype

最终他修改后的运行环境为Gentoo 32bit apache-2.4.41 & php-7.2.25(也支持php-5.6.40)

我在Win10 Apache 2.4.43 ,PHP7.2.25,MySQL 5.7.31下做了测试,可以运行。

2.关于LifeType在php7下的实现,也有人在LifeType的邮件列表论坛里讨论,其实也是LifeType的核心开发人员jondaley,对php7的支持,也是在Alexandros基础上做的修改,同时对LifeType也有一些日常的更新。你可以订阅,也可以通过存档列表查看相关内容:http://limedaley.com/pipermail/plog-svn/

3.另外,台湾网友tommy也做了让LifeType支持php7的修改工作,并在他的blog上记录了大概修改思路,以及共享了修改文件的下载,具体见tommy的blog帖子:https://blog.teatime.com.tw/1/post/473

三、LifeType的升级步骤

1.LifeType的升级操作,个人的建议还是要先在本机或测试环境中来进行。

2.确认无误,再移植到正式的服务器环境中,而且务必备份LifeType的mysql数据库及LifeType安装目录下的所有文件(包括程序文件、上传附件等)。

3.下载lifetype-1.2.13-dev的压缩包,解压复制到LifeType的安装目录(再次提醒,操作前务必先备份),覆盖旧文件。LifeType安装目录下重要的或可能修改的文件,大概如下,记得要保留或者重新拷贝回来:

config #配置文件夹
gallery #上传文件夹
imgs\plog_top.gif #summary.php首页banner
locale\locale_zh_CN.php #中文语言包
plugins #插件中文
styles\summary.css #summary.php风格文件
templates #模板,特别注意summary.php定制首页不要覆盖
.htaccess #目录设置、访问权限及重写规则

3.因为LifeType1.2基本没有对mysql数据库结构做修改,所以只要升级LifeType修改程序就可以运行了。

四、LifeType在php7下的一些小问题

1.之前LifeType主要在apache2.2下部署,如果使用了apache2.4,要记得修改.htaccess文件,因为apache2.4下控制目录访问权限的语句有了修改。否则程序没有权限执行。一般需要修改:

.\.htaccess

.\gallery\.htaccess

.\plugins\.htaccess

2.图片不能上传问题,是因为eregi函数被弃用,改为preg_match即可。打开class\gallery\getid3\getid3.php文件:

63

if (eregi('([0-9]+)M', $memory_limit, $matches)) {

改为

if (preg_match('([0-9]+)M', $memory_limit, $matches)) {

即可。这个修改已经在github上报给了Alexandros,新下载的程序已经做了修复。

3.发表文章,如果内文中有个别中英文混排,且之间没有空格的话,如“plog验证码”,则提交文章时,报错500。这时文章已经写入mysql,但因分词出问题,不能成功写入token表。解决方法为,编辑文件class\bayesian\bayesiantokenizer.class.php第六行:

define( "SPLIT_REG_EXP", "/[^a-zA-Z0-9àáèéíïòóúüÀÁÈÉÍÏÒÓÚÜ'$!,.^-]+/");

改为

define( "SPLIT_REG_EXP", "[^a-zA-Z0-9àáèéíïòóúüÀÁÈÉÍÏÒÓÚÜ'$!,.^-]+");

4.rss2.0输出blog和文章标题乱码,这是几个版本都有的bug。编辑\templates\rss\rss20.template文件,有两处:

|escape:hexentity}

替换为:

|escape}

 

上一篇  下一篇  评论(2)  引用(0)

评论

Re: 让LifeType在php7下运行

nianbai

测试一下,来自2021的评论。

Posted by: nianbai at 2021/03/14, 18:10

不错不错

实用的信息

Posted by: 游客 at 2021/03/14, 10:19

发表评论

authimage