邢栋博客

邢栋博客,Action博客,记录工作和生活中的点点滴滴

php下正则匹配大字符串失败问题
问题描述:

在使用php函数preg_match匹配大字符串的时候匹配失败,而删除一半数据,则匹配成功,

解决过程:

于是在匹配结束后,调用preg_last_error()函数,查看失败原因,返回的是6,6对应的错误原因是PREG_JIT_STACKLIMIT_ERROR,

原来当字符串太大的时候,栈空间满了,直接就出错了,于是在匹配前加一下代码

ini_set('pcre.jit', 0);


解决查找的资料

1、深悉正则(pcre)最大回溯/递归限制(https://www.laruence.com/2010/06/08/1579.html)
Mac下使用clion调试redis源码

1、先从github上下载源码
1)搜索 https://github.com/search?q=redis+clion
2)最好是选择别人配置好CMakeLists.txt的,不然自己配置也很麻烦


2、下载完成,开始配置
//选择一个想要调试的版本进行下载
wget https://github.com/htw0056/redis-3.0-annotated-cmake-in-clion/archive/master.zip
//解压
unzip redis-3.0-annotated-cmake-in-clion-master.zip
//重命名+拷贝
mv redis-3.0-annotated-cmake-in-clion-master redis-3.0
cp -R redis-3.0 redis-3.0-make

//编译
cd redis-3.0-make/src
make


3、打开clion软件,导入redis-3.0项目
1)搜索到saddCommand命令,打个断点,开启debug模式


4、进入到客户端服务器,执行sadd命令
1)进入到redis-3.0-make/src,开始执行命令
./redis-cli
sadd numbers 1 77777 xd
这个时候就打开clion软件一步一步往下走了

Mac下安装gdb证书
1、先按照csdn上面的这边文章进行添加证书,名称设为 code_gdbsign
https://blog.csdn.net/LU_ZHAO/article/details/104803399/

2、假如你的mac系统大于Mac OS X 10.14,则

vim gdb-entitlement.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
    <key>com.apple.security.cs.disable-executable-page-protection</key>
    <true/>
    <key>com.apple.security.cs.debugger</key>
    <true/>
    <key>com.apple.security.get-task-allow</key>
    <true/>
</dict>
</plist>
</pre>

然后执行
codesign --entitlements gdb-entitlement.xml -fs code_gdbsign $(which gdb)

3、如果mac系统早于10.14,则执行以下命令即可


codesign -fs code_gdbsign $(which gdb)




Mac系统实现git命令补全
1、先安装brew,安装过的可以忽略
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安装bash-completion
brew install bash-completion

3、系统配置

下载此文件
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
然后复制到家目录
cp xxx/git-completion.bash ~/.git-completion.bash

vim ~/.bash_profile 加入以下代码
if [ -f ~/.git-completion.bash ]; then
   . ~/.git-completion.bash
fi

读取文件
source ~/.git-completion.bash

北京公积金使用证明

1、进入 https://grwsyw.gjj.beijing.gov.cn/ish/,登录进入


2、点击我的账户 - 异地贷款公积金缴存证明 - 输入你要办理的贷款地中心名称 ,如 济南住房公积金中心 ,然后点击  打印缴存证明 就可以了
北京公积金流水

1、进入 https://grwsyw.gjj.beijing.gov.cn/ish/ ,登录进入


2、点击我的账户 - 住房公积金业务信息 - 选择你要打印的日期 打印就可以了
北京完税证明

1、进入 https://etax.chinatax.gov.cn/tsyyrk.html 登录进入


2、点击特色应用 - 纳税证明开具 ,下面的流程 小白也懂
北京无房证明
1、下载北京通app,完成注册认证(包含人脸识别)
2、点击我的应用 - 公共服务 - 不动产查询 - 权利人查询 -  输入查询用途,点击查询 ,等加载完毕,在点击查询即可,然后保存图片,直接打印就可以了

或者进入
http://bdc.ghzrzyw.beijing.gov.cn/eo/wizard/mainMenu.go 查询,不过也要完成 北京通 app的 注册认证

优惠券
广告位-淘宝
最新微语