0%

在搭建我的个人开发环境的过程中, 对于PHP开发我选择了Docker这样的方案. 这种方案相比valet最大的好处就在于自由: 可以自由定制自己所需的nginx配置, php配置, 在安装php插件时也会方便一些.
但是, 在搭建完毕运行之后, 碰到了许多坑.
我最先搭建的是WHMCS测试站. 搭建完毕之后发现无论打开什么页面, 最短的加载时间也在5s左右. 对于搭建在本地的whmcs来讲, 这自然是十分不正常的, 百度了一下如何解决之后, 我决定开启php-fpm的slowlog来看看是哪里出了问题.
在docker中开启slowlog之后, 超时时间设置为了1s, 但是当页面加载时间为5s时, log文件内仍无任何内容.
Google了一番, 发现php-fpm使用SYS_PTRACE这一个系统调用来统计程序运行的时间, 而默认情况下docker容器内并没有此权限, 只要在docker-compose.yml内加入 privileged: true 即可解决问题.
这就是第一个坑: PHP-fpm在无任何错误提示的时候不能产出slowlog

折腾了半天终于能看到slowlog了, 内容却让我很疑惑:

[30-Jun-2019 15:33:20]  [pool www] pid 10
script_filename = /data/www/whmcs//admin/login.php
[0x00007f063aa211b0] Composer\Autoload\includeFile() /data/www/whmcs/vendor/composer/ClassLoader.php:322
[0x00007f063aa21120] loadClass() unknown:0
[0x00007f063aa210c0] spl_autoload_call() unknown:0
[0x00007ffdbaff9320] ???() /data/www/whmcs/loghandler.php:44

占据主要时间的前三个函数都是composer的函数, 貌似没有任何解决方案. 在Google一番之后, 发现这里的慢主要在于 OS X 下的 Docker 磁盘性能过低, 导致读取php文件速度过慢, 时间变长. 测试了各种解决方案之后, docker-sync 解决了这个问题, 将整个网页的加载时间由5s缩短为300ms.

更新: docker-sync有各种玄学bug, 还是虚拟机为妙.

不同批次的手机安装的出厂H2OS版本不同, 本流程不一定适用于所有手机.

准备工作

  1. 这里下载相关工具包
  2. 系统设置-关于手机 点击7次系统版本号 开启开发者模式
  3. 开发者模式中开启”高级重启”和”OEM解锁”
  4. 长按电源键, 选择重启到引导加载器
  5. 连接电脑, 在电脑上运行 fastboot oem unlock
  6. 在手机上确认

氧OS

绝大部分手机出厂预装的H2os中BootLoader的版本较低, 不支持安装TWRP. 需先安装O2OS.

  1. 这里下载O2OS, 并用adb导入到手机中.
  2. 在手机设置-系统更新-本地升级中, 选择此ZIP包.
  3. 若成功刷入, 即可开始刷入TWRP.
  4. 若刷入不成功, 则预装的H2os版本较高. 使用以下步骤安装O2OS:
    1. 将安装包通过adb导入手机中, 重启进入bootloader, 连接电脑
    2. 在电脑上从这里 下载TWRP的两个文件(img,zip)
    3. 电脑上运行 fastboot boot twrp-3.3.1-3-guacamole.img
    4. 手机会重启进入TWRP. 三清后刷入氧os安装包, 刷入后再进行一次三清
    5. 重启进入系统. 若无限循环进入revocery, 则再次连接电脑, 运行fastboot指令进入TWRP后选择 Advanced - Fix Revocery Bootloop

TWRP

  1. 在电脑上从这里 下载TWRP的两个文件(img,zip)
  2. 将zip文件通过adb导入手机
  3. 手机重启进入 Bootloader 连接电脑
  4. 电脑上运行 fastboot boot twrp-3.3.1-3-guacamole.img
  5. 手机会进入临时的TWRP. 在此临时的TWRP中选择刷入上面导入的 TWRP zip 包

Magisk

  1. 下载 Magisk Manager 以及 magisk zip包
  2. 重启进入 Revocery , 刷入ZIP包即可.

OTA

按照O2OS - TWRP - Magisk的顺序刷入即可.

  1. 下载完整包, 并准备好TWRP安装包, Magisk安装包. 重启进入TWRP.
  2. TWRP内先后刷入ROM与TWRP
  3. TWRP内选择重启到另一个slot
  4. TWRP内安装Magisk
  5. 重启进入系统

这是一篇站在消费者个人角度的陈述.

本人不善言辞, 尽请谅解.

买前

一加7Pro 星雾蓝
高考前就一直在想高考后要换个手机, 高考后仔细敲定, 基于以下原因选择了一加7Pro:

  1. 一加对刷机友好, Root方便.
  2. 屏幕90Hz,2K (买之前看官方宣传只是觉得很厉害,真正到手体验一天后才会发现用起来有多爽)
  3. 配置基本是顶级(855, 8+256, UFS3.0储存)
  4. 摄像头不错(48+16+8 MP Triple Camera), 将来可能配合云台拍Vlog

买中

看到6月10日10:00官网上开卖的消息, 结合前几次10点开卖, 12点还有货, 我就没有特别准时抢. 10:01打开一加官网的时候就显示已经售罄了.
(同时还观测到另一个问题: 使用最新安卓chrome打开一加官网, 官网上的登录滑动验证码总是无法完成, 不知道什么原因.)
约好和R同学同时抢的我微信上问了问R同学,于是就发生了以下的故事:
聊天
确认官网抢不到之后, 我在刷朋友圈的时候偶然发现同学在京东官网上买到了, 立即打开京东官网, 下单. 下单过程之中还发现, 8+256的机器是4499元. 所以如果在官网上买的话, 加一个289多元的碎屏险后是4788多元. 可是在京东上买相同的官方碎屏险只需要4699元, 便宜了几十块钱.

不知道为什么官网价格和京东价格不一样?

(同时,官网无货, 京东官方旗舰店有货这种骚操作我也不能理解)

到手

机器到手之后, 开箱, 解锁, 并没有感受到各路评测所描述的 “惊艳” 的屏幕. (甚至到手的第一感觉只是星雾蓝后盖挺好看).

我的机器到手之后的流程就是 刷氧os - 刷twrp - 刷 magisk. 在此过程中, 踩到了不少坑, 我会将相关内容整理到这里.

全部刷好之后, 三清, 重新初始化. 初始化过程中直接在网络环境较好的地方, Google账户第一时间登录, 就自动把配置下载下来了.

惊喜到我的是, 不仅通讯录之类的信息同步到了新手机上, 就连gboard的配置也一起同步了过来. 最惊奇的是, 就连我手机热点的配置的wifi名称和密码都一起同步了过来. 在国内, 谷歌框架的配置同步和迁移功能真是体验比小米等品牌强得多.

在安装国内软件的过程中, 这次的全新装机我采用了一下原则:

  1. 能在 Google Play 安装尽量在上面安装, 不能的在酷安上安装.
  2. 对于 所有 我没有观察到兼容性问题的应用开启存储重定向.
    这样子, 在这个新手机上我的收获就是极其整洁的SD卡根目录. 在根目录中, 除了系统创建的文件夹以及magisk插件创建的一个文件之外, 没有任何应用创建的文件. 截至撰写本文时, 没有观测到任何兼容性问题. (应用间分享文件可通过Bridge应用解决)

拍照体验

由于还没来得及测试夜景, 在此放出几张在故宫拍摄的照片:

故宫1
故宫2
故宫3

使用体验

在故宫玩了一天(体验一天一加7p)后, 再用回之前的一加3t, 突然特别不适应. 各种操作都显得不”顺滑”, 顶部和底部的大黑边看上去也很不爽… 总之, 正如评测们所述, 一旦用惯了一加7p, 你就再也回不去了.

一些坑点:

  1. 默认使用的是虚拟按键, 若要使用全面屏手势需要手动开启
  2. 不同批次的机器预装的氢os版本不同, 刷机方法不同 (我和R同学的两台机器是同时购买的, 同时在同一京东仓库出货, 当R同学使用我刷机成功的方式时差点变砖. )
  3. 前置摄像头伸出需要至少半秒左右
  4. 官网购买流程体验极差.

小弟不才, 在此赋诗一首:
官网下单需警惕,价格坑人不客气.
奈何强东美价廉,京东小哥做兄弟.

起源

高考前, 就一直想弄一个自己的blog. Wordpress, typeecho, 试过了许多程序, 也弄过好多次各类blog, 最终都不了了之.

这一次,打算还是用hexo弄. 选用hexo的原因呢, 主要有:

  1. 可以用 Github Pages 部署, 没有服务器费用, 没有被攻击的风险.
  2. Markdown 书写, 更方便
  3. 将来还可能搞个微信公众号, so 用 Markdown 书写的话, 可以使用批量工具将 Blog 内的内容复制到微信公众号中.

过程

先是看了看官方文档, 研究了下hexo怎么用. 接着翻了翻收藏, 找到了以前收藏的一个hexo主题 Matery. Clone下来配置一通后, 就完成了你们现在看到的 Blog.

愿景

将来可能更新的内容:

  1. TensorFlow教程
  2. 自己写的一些PHP插件
  3. 自己搞的物联网小设备
  4. 自己在B站上传的VLog(可能跳票)

联系我

如果想挂个友联, 欢迎邮箱联系 i@leoleoasd.me

有其他想法或者建议, 也可以给我发邮件.

(突然想起来高考备考的应用文套路: If you have any further questions, feel free to drop me a line.)