很久没有更新网站了,之前也看过很多电子相关的个人网站在建站三年左右的时候停更,几个月或者一两年后再次访问就变成了空空的IP失效。确实,三四年的时间足够让身边的事物发生巨变,原先乐于分享的精神随着抄袭的泛滥、亦或者是工作保密性质的改变渐渐消磨殆尽。随之而来的是每次发文之前都反复权衡着深入的程度,又或者哪些技术细节是不能透漏的。权衡过后最好的方式还是不发,所谓不做亦无错。

最近闲来无事,更新wordpress后发现提示升级PHP,但按照lnmp的更新教程直接操作后php-fpm却无法启动,提示如下:

可以看出php7.2.18下载完成后并没有开始安装编译,同时 /usr/local/ 目录下只有旧版本php的备份,没有新的php文件夹。在谷歌搜索一番之后发现需要在升级前编辑lnmp1.4目录下的include/upgrade_php.sh,将最后几行中的 7.[01] 改为 7.[012],但考虑到php7.3已经发布,直接改为7.[0123]方便以后升级使用。

需要注意的是,由于phpMyAdmin 4.8.5只支持到php7.2,所以这里只更新到php7.2.18。(后记,虽然尝试更新到 php7.3.5,phpMyAdmin 4.8.5 并没有出现异常,稳妥考虑就先 php7.2 吧。)

此外,在更新 php 后需要修改 php.ini。找到 php.ini 中 disable_functions 字段,并删除后面的 scandir,否则wordpress的主题选项卡将无法正常显示。

php更新完毕之后又看到原先使用的wordpress主题提示更新,但由于更新主题会覆盖掉之前对主题的修改就迟迟没有动手,在wordpress升级到5.0之后推出了子主题配置,可以通过子主题解决主题更新带来的覆盖问题。在简单看过介绍之后总结了如下表格:

文件名称 是否必须 效果
style.css 必须 覆盖修改部分
functions.php 可选 添加修改部分
其他主题文件 可选 覆盖源文件
screenshot.png 可选 添加主题封面

其中style.css编写要求较为严格,内容如下:

/*
Theme Name: Twenty Ten Child
Description: Child theme for the Twenty Ten theme 
Author: Your name here
Template: twentyten
*/

@import url("../twentyten/style.css");

#site-title a {
    color: #009900;
}

简单注解如下:
1. /* 开启子主题的头部信息。
2. Theme Name: 子主题名称的声明。
3. Description: 主题的描述(可选,也可被省略)。
4. Author: 作者名字的声明(可选,也可被省略)。
5. Template: 声明子主题的父主题,换言之,父主题所在的文件夹的名称,区分大小写。
6. */子主题头部信息的关闭标记。
7. 用 @import规则将父主题的样式表调入
8. #site-title a 定义网站标题的颜色(绿色),覆盖父主题中相同的样式规则。

其他修改规则这里不再赘述,详见wordpress官网:https://developer.wordpress.org/themes/advanced-topics/child-themes/

 

References:

lnmp升级官方指南:https://lnmp.org/faq/lnmp1-2-upgrade.html

php官网:https://www.php.net/downloads.php

phpMyAdmin官网:https://www.phpmyadmin.net/downloads/

wordpress子主题介绍:
https://codex.wordpress.org/zh-cn:%E5%AD%90%E4%B8%BB%E9%A2%98

 

{ 本文链接: https://www.sy2k.com/2019/php-update-and-child-theme/;
原创文章, 转载请保留. 转载自 https://www.sy2k.com }