随笔分类 - 杀鸡要用宰牛刀
返璞归真 高屋建瓴 研究最初的php问题
摘要:php 打开并写入文件 10万次 <?php $start_time = microtime(true); for ($i=0; $i < 100000; $i++) { $myfile = fopen("php_log.txt", "w") or die("Unable to open file!
阅读全文
摘要:有时候需要一部分后台业务异步的处理,比如处理redis队列啊,处理mysql统计啊,数据同步啊,这种长时间任务,但是又需要每段时间去看看的,发现linux cron最小只能支持每分钟的任务 分 时 天 月 星期 这颗粒度太大了,而我们实际业务往往需要几秒一次的查询或者每秒一次的业务,甚至有时候是毫秒
阅读全文
摘要:vi ~/.profile 增加 HISTTIMEFORMAT="%F %T `whoami` `who am i|awk '{print $1,$5}'|sed 's/ (/@/'|sed 's/)//'`" 然后 source ~/.profile 再执行history就有时间和作者了
阅读全文
摘要:使用hyperf的时候发现它监听9501端口,然后这样需要ip+port方式去访问,但是这样对用户而言有点不太友好,如果我们还有域名,可以做一个反向代理避免端口直接写出来。 找了找网上别人写的例子,感觉都太不细致了,还是自己写一个吧。 例子如下: 1.查找 sudo apt search apach
阅读全文
摘要:yii2的老版本会有在PHP7运行的错误提示 Cannot use yii\base\Object as Object because ‘Object’ is a special class name use yii\base\Object; 这里的Object 已经是PHP7的保留关键字,可以升级
阅读全文
摘要:传统的创建uuid的方法是自己写个函数实现随机 <?php function create_uuid($prefix="") { $chars = md5(uniqid(mt_rand(), true)); $uuid = substr ( $chars, 0, 8 ) . '-' . substr
阅读全文
摘要:使用 apt 安装mysql 先search一下 sudo apt search mysql 得到结果 找到了这个 发现是8 那就装吧 sudo apt-get install mysql-server 安装后发现无法登录 $ mysql -uroot -p Enter password: ERRO
阅读全文
摘要:如果有个功能是同事在做,但是做到一半,需要接手帮忙修改或者完成后续,可以切入他的分支 git checkout 分支名称 直接开发,也可以 git checkout -b 新分支名称 这样就完全拥有他的代码了,在这后面继续开发。 还有一种就是需要修改同事的只有一个commit的分支,因为他只有一个c
阅读全文
摘要:翻出来以前一个很老的TP5项目,忘记是什么功能系统了,就本地启动了一下,发现返回状态码500,开始以为是index.php被我隐藏后rewrite导致的,后来搜索了一下,发现大家也有这个问题,然后看到是runtime下面的文件没有读写权限导致的,赶紧给了权限,还是不行,后来想到可能是老的缓存文件没给
阅读全文
摘要:如果想把composer从2版本降到1版本 composer self-update 1.4.1 如果想降到1版本 composer self-update --1
阅读全文
摘要:照着菜鸟教程 学习python操作sqlite ubuntu 安装 sudo apte-get install sqlite3 找到了 sqlite3/bionic-updates,bionic-security,now 3.22.0-1ubuntu0.4 amd64 [installed] Com
阅读全文
摘要:今天给同事 rebase 代码 发现 git fetch && git rebase -i origin/develop 的时候 出现了 那个 nano 编辑器的界面 不会用,和vim相差的有点多,于是查了一下如何转换为 vim 编辑器 git config core.editor vim 执行了就
阅读全文
摘要:来到需要检测代码的目录下 需要提前安装 docker 执行 docker run --rm -v $(pwd):/app vfac/php7compatibility 7.3 . --ignore=vendor --extensions=php,module,inc -d memory_limit=
阅读全文
摘要:其实.po文件是一种翻译文件格式,类似于 key - value的列表 可以理解为两列,由于我们想把这个po数据读出来放入 excel.因为大部分人看不懂po文件的。虽然我们可以借助工具 poedit 来打开和查看更新po内的数据,但是显然客户是天真的,他们更适合 excel。 于是需要转换一下 找
阅读全文
摘要:在本地用 vagrant 给 php 7.2 升级到 7.3 的时候,直接修改了 box/config.yml里面 php 版本 然后就 vagrant reload --provision 进行重新启动,然后 php 升级成功,但是在build xdebug的时候报错了。 TASK [geerli
阅读全文
摘要:如果后台一些界面比较敏感,希望主动或者被动的在人员不想暴露信息的情况下加一把锁,就是说避免信息一直在页面上暴露,可以使用”阅后即焚“这种思路,这种思路比较简单,显示了就过几秒删除,js remove节点即可(如果有必要做成真正的只能读一次那后台数据也要删掉),还有一个办法是给页面锁屏。 如何给某个页
阅读全文
摘要:使用一段代码来检查父子进程执行顺序 <?php $str = "hello world!" . PHP_EOL; // 派生一个子进程,子进程会复制主进程中的上下文 // pcntl_fork 函数在主进程中返回子进程的进程ID,在子进程返回0,失败在主进程返回-1 $pid = pcntl_for
阅读全文
摘要:有时候你想存储一个json到文件中,然后让别人调用或者读取或者作为临时存储,诸如此类。 但是php json_encode后数据是压缩的没有格式化,导致读起来有点费劲。 所以你可以这样(php 5.4以后) 代码如下: <?php $arr = array( 'status' => true, 'i
阅读全文
摘要:一直很好奇shell命令行安装脚本的时候怎么实现自动增长进度条而且不增加新输出的问题。以前一直觉得是不断print出来东西,但是已经输出到命令行终端的为什么也能被覆盖呢,于是看到别人写的进度条,不断尝试,发现核心功能非常简单,就是不断的printf "\r" 代码如下 #!/bin/bash pro
阅读全文
摘要:有时候需要执行一个小脚本,就把一部分命令集合起来,我们可以使用 && 或者 .sh 脚本换行。 而有些时候涉及权限需要输入密码就出现了一些客户端会卡在输密码的界面让用户输入 脚本会暂停,为了避免每次都输入密码 可以使用一个写死密码的脚本(当然这样极不安全,但是如果是个人电脑或者为了方便快捷这种方法是
阅读全文