### 起因 因临时有需要,所以就打开了吃灰好久的酸酸乳软件,然后就发现刚启动没多久就发生了crash。 ### 排查 初步判断,把原因锁定在酸酸乳订阅上,因为之前都是用得好好的,其中最大的变数就是酸酸乳订阅,因为每次打开软件都是自动更新订阅,然后查看日志发现了一以下报错  这个异常是当尝试将 `nil` 插入到字典或者数组中才会发生的,所以就怀疑酸酸乳地址有错,导致软件解析失败,从而将 `nil` 加入到了字典中导致crash。果不其然,在前面的日志中发现其中一个酸酸乳是ipv6的服务器,因为ipv6格式中含有 `:` ,和酸酸乳协议刚好产生冲突,导致分割出来的字段超出预期而导致crash。  ### 解决方案 既然问题找到了,解决也简单,将ipv6的酸酸乳过滤掉即可。
### 添加PHP至PATH环境变量 略过  ### 下载配置XDebug 在`php.ini`中配置以下XDebug内容,这里我们只做了最简化的配置。 ``` [XDebug] # 根据具体的PHP版本以及系统选择相对应的XDebug扩展 zend_extension=xdebug.so xdebug.remote_enable=1 xdebug.remote_host="localhost" xdebug.port=9000 xdebug.remote_handler="dbgp" ``` - 阅读剩余部分 -
- 阅读剩余部分 -
### 原由 最近写了一个新的项目,在测试的时候发现PHP报了一个很诡异的错误 ``` Argument 1 passed to xxx must be an instance of string, string given, called in yyy ``` ### 分析 一开始看到这个错误,我第一反应就是是不是把`string`写错了,然后认真看了下,这完全一毛一样啊!  - 阅读剩余部分 -
### Environment 1. `.NET Core 2.0` 2. `Peachpie 0.9.11` ### Test `program.php` - 阅读剩余部分 -
### 前提 本文假设读者已熟悉pod和git的一些基础命令以及Xcode的基本使用。且对本文中的一些参数不做过多介绍与解释,读者可在了解了一个基本的工作流后自行深入了解。 ### 创建项目仓库 `PROJECT_NAME`为占位符,请替换为你实际的项目名称。 ```shell mkdir PROJECT_NAME cd PROJECT_NAME git init ```  ### 创建pod库的基本组成文件以及项目结构 ```shell touch .gitignore touch README.md touch LICENSE pod spec create PROJECT_NAME ``` - 阅读剩余部分 -
收一个 Reqable 永久版订阅