记一次时间相差一个月导致 apt install 提示证书有问题 作者: Chuwen 时间: 2021-07-24 分类: Linux 评论 几个月没登录家里的 NAS 了,主要是我这里的宽带、公司网络都没有 IPv6 只能手机开热点才有 IPv6,连接上家里路由器 VPN 才能访问 今天听说 **江西移动宽带** 不再提供对等上下对等宽带,想来测下速度,但是没有安装 `speedtest-cli`,就直接执行了 `apt install speedtest-cli` 但是安装失败了,大概提示的是: ``` server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none ``` 因为我这边已经修好了,并且终端仅保留部分执行历史,所以就没办法贴原文了 ## 解决办法 可能是你的系统时间出现了些问题,你可以使用 `date` 命令查看: ```shell root@Chainedbox:~# date 2021年 06月 14日 星期一 03:50:33 UTC ``` 一看,这个时间相差了一个多月,怪不得报证书问题, 仅需要校准下时间即可 ```shell root@Chainedbox:~# sudo ntpdate -s ntp.aliyun.com root@Chainedbox:~# ntpdate -u ntp.aliyun.com 24 Jul 14:32:15 ntpdate[24105]: step time server 203.107.6.88 offset 3494399.184393 sec root@Chainedbox:~# date 2021年 07月 24日 星期六 14:32:24 UTC ``` ### 终于成功安装 speedtest-cli ``` root@Chainedbox:~# apt install speedtest-cli 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装: speedtest-cli 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 157 个软件包未被升级。 需要下载 19.1 kB 的归档。 解压缩后会消耗 85.0 kB 的额外空间。 获取:1 https://mirrors.tuna.tsinghua.edu.cn/debian stretch/main arm64 speedtest-cli all 1.0.0-1 [19.1 kB] 已下载 19.1 kB,耗时 0秒 (32.6 kB/s) 正在选中未选择的软件包 speedtest-cli。 (正在读取数据库 ... 系统当前共安装有 58082 个文件和目录。) 正准备解包 .../speedtest-cli_1.0.0-1_all.deb ... 正在解包 speedtest-cli (1.0.0-1) ... 正在处理用于 man-db (2.7.6.1-2) 的触发器 ... 正在设置 speedtest-cli (1.0.0-1) ... ```
git pull 排除拉取某个文件夹 / 只拉取某个文件夹 作者: Chuwen 时间: 2021-07-24 分类: Linux 评论 ## 序言 公司项目,把 `vendor` 上传到 `git` 了,导致每次本地执行 `composer update` 等相关 `composer` 命令,再使用 `git pull` 就会冲突... ## 使用方法 > 参考的是:https://zhgcao.github.io/2016/05/11/git-sparse-checkout/ ```shell git config core.sparsecheckout true # 表示只拉取 /path1 目录 echo "/path1" >> .git/info/sparse-checkout # 加个感叹号表示,排除拉取 /path1 目录 echo "!/path1" >> .git/info/sparse-checkout git checkout master ```
WordPress 使用 wp 命令创建 .opt 文件用以支持多语言 作者: Chuwen 时间: 2021-07-20 分类: PHP 评论 ## 前言 > 个人所理解,如有错误请指正 首先需要明白一件事情,创建 `.opt` 文件前,首先在你的插件注释里添加以下关键注释(**Text Domain** 和 **Domain Path** 字段): - **Text Domain**:文本域(个人理解),这个比较关键 - **Domain Path**:翻译文件存放的路径 ``` /** * Plugin Name: 插件的名字 * Plugin URI: https://nowtime.cc/ * Description: 插件简介 * Version: 0.0.1 * Author: Chuwen * Author URI: https://nowtime.cc * Text Domain: chuwen * Domain Path: /i18n/languages/ * Requires at least: 5.5 * Requires PHP: 7.0 * * @package Chuwen * @date 2021/7/20 14:50 */ ``` 以上工作完成后,就可以接着往下看了 ## 安装 wp 命令 > WP-CLI 是一款用于管理 WordPress 的命令行交互界面,无需浏览器即可完成插件更新,多站点设置等许多操作。 官网地址:https://wp-cli.org/zh-cn/ [官方]安装文档:[https://wp-cli.org/zh-cn/#安装](https://wp-cli.org/zh-cn/#安装 "https://wp-cli.org/zh-cn/#安装") ### 本文主要介绍 macOS 以及 Linux 系统安装 #### Linux 安装教程 ```shell cd ~ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # 检查 Phar 文件确保其正常运行: php wp-cli.phar --info # 要使用 wp 执行 WP-CLI 命令,必须有执行权限并且 PATH 已在环境变量中注册,例如: chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp # 最后再次验证 wp --info ``` #### macOS 可以借助 Homebrew 进行安装 > Homebrew 官方安装文档:https://docs.brew.sh/Installation > 其安装教程可参照:https://zhuanlan.zhihu.com/p/111014448 Homebrew 安装完成后,执行 `brew install wp-cli` 即可 #### Windows 安装教程 > 自行网上搜索,因为**某些功能在 Windows 中将受到限制**,所以我推荐在 Windows 10 以及以上的系统,安装 WSL(Windows 子系统),然后参照 Linux 系统安装 `wp` 命令即可 ### 验证安装 wp 命令 输入 `wp --info` 即可验证 ![输入 wp --info 验证安装结果](https://cdn.nowtime.cc/2021/07/20/1827334578.png) ```shell chuwen@MiBook# wp --info OS: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64 Shell: /bin/zsh PHP binary: /usr/local/Cellar/php@7.3/7.3.28/bin/php PHP version: 7.3.28 php.ini used: /usr/local/etc/php/7.3/php.ini MySQL binary: MySQL version: SQL modes: WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /Users/chuwen WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.5.0 ``` ## 生成 `.pot` 文件 - 假设你的 WordPress 根目录是:`/www/wwwroot/wordpress.com` - 假设你的 WordPress 插件目录:`/www/wwwroot/wordpress.com/wp-content/plugins/chuwen` 首先进入的你的**插件目录** ```shell cd /www/wwwroot/wordpress.com/wp-content/plugins/chuwen ``` 然后生成 `.opt` 文件 ```shell # 如果你是按照最开头的做法做的,那么会自动将生成的 `.opt` 文件放到 `Domain Path` 文件夹下 wp i18n make-pot . # 如果你想指定文件存放路径、文件名 wp i18n make-pot . i18n/languages/chuwen.pot ``` 最后生成结果查看你插件目录下的 `i18n/languages/` 里面的文件即可 ### 生成多语言 将生成的比如 `chuwen.pot` 复制一份,将其命名为 `en_US.pot`,然后使用工具进行翻译即可
WordPress 使用 CloudFlare 后,后台无法进入、重定向次数过多、提示 Sorry, you are not allowed to access this page. 作者: Chuwen 时间: 2021-07-10 分类: PHP 评论 ## 具体原因 1. CloudFlare 那边 SSL 配置的是“灵活” ![CloudFlare 那边 SSL 配置的是“灵活”](https://cdn.nowtime.cc/2021/07/10/21193480.png) 2. WordPress 后台配置的又是 https ![WordPress 后台配置的又是 https](https://cdn.nowtime.cc/2021/07/10/3223298541.png) 最终就会导致浏览器一直报“重定向次数过多”,或者 WordPress 直接报 `Sorry, you are not allowed to access this page.` CloudFlare SSL 配置“灵活”,指的是 **源站**(也就是你的 WordPress)博客不支持 https,然后 CloudFlare 可以实现: 浏览器 --https--> CloudFlare --http--> 你的服务器(WordPress) **但是**,你在 WordPress 后台配置的了你的 WordPress 地址是 `https` 地址开头的,所以当 CloudFlare 访问你的 WordPress 时,你的 WordPress 告诉 CloudFlare 你只能通过 https 访问,CloudFlare 又告诉你的浏览器你只能访问 https 这样就造成了循环.... ## 解决办法 将 CloudFlare 的 SSL 配置改为“完全”或“完全(严格)”,**推荐选择完全**具体看: ![](https://cdn.nowtime.cc/2021/07/10/2167830392.png)
目录/时间线 Typecho 自定义模板 作者: Chuwen 时间: 2021-07-04 分类: PHP 1 条评论 ## 使用说明 如果你使用的是 Typecho 默认主题,那么你可以在你博客目录下 `/www/wwwroot/nowtime.cc/usr/themes/default` 新建一个文件名为 `time-line.php` 然后将下述**模板源码**粘贴进去保存 > 其它主题可以参照着你主题目录下的 `page.php` 源码来修改我下面写的**模板源码** 然后去博客后台 -> 管理 -> 独立页面 -> 新增,选择模板 ![](https://cdn.nowtime.cc/2021/07/04/623357964.png) 然后“发布页面即可” ### 效果预览 https://nowtime.cc/time-line.html ![https://nowtime.cc/time-line.html](https://cdn.nowtime.cc/2021/07/04/3640778185.png) ## 模板源码 ```php need('header.php'); ?> title() ?> content(); ?> need('comments.php'); ?> widget("Widget_Contents_Post_Recent", "pageSize=100000000000000")->to($post); $recentPost = array(); while ($post->next()) { $recentPost[] = array( "title" => $post->title, "link" => $post->permalink, "time" => $post->created, ); } ?> need('sidebar.php'); ?> need('footer.php'); ?> ```