首页 作者:blogdaren 的文章
  • 【1】【原创】深入理解 array_reduce() 执行原理

    blogdaren 2018-04-09   279次来访
    研究背景 首先移步至文中DEMO代码,如果符合你预期运行结果,请忽略。本人的解读未必正确,欢迎学习指正。 array_reduce (PHP 4 >= 4.0.5, PHP 5,PHP7) array_reduce -- 用回调函数迭代地将数组简化为单一的值【常配合闭包一起使用】 函数说明 mixed array_...
  • 【2】PHP扩展之VLD:查看OPCODE中间代码

    blogdaren 2018-04-03   297次来访
    什么是VLD? VLD是PHP官方PECL仓库的一个PHP扩展,目前最新版本是 0.14.0(2016-12-18), 其作用是:显示PHP脚本的内部表示(opcode)。换句话:可以查看PHP程序的opcode。 安装VLD扩展: 1. 官方下载:http://pecl.php.net/package/vld   【# ...
  • 【3】关于pcntl_wait与信号中断触发以及pcntl_signal_dispatch的问题

    blogdaren 2018-03-26   421次来访
    直接贴一段代码: <?php function stopAll($sig){ echo "master caught a signal $sig" . PHP_EOL; } $pid = pcntl_fork(); if($pid > 0) { $master_id = posix_getpid(); echo "(paren...
  • 【4】TCP/IP、HTTP、Socket之间的区别和联系

    blogdaren 2018-03-23   325次来访
    SEE: https://blog.csdn.net/Pk_zsq/article/details/6087367       经常在笔试、面试或者工作的时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是和网络编程密不可分的知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他的作用和能力肯定会提升一个档次。原因很简单,这是...
  • 【5】socket_create和stream_socket_server创建出来的socket有啥区别?

    blogdaren 2018-03-20   368次来访
    PHP提供了两种类型的socket:socket 和 stream_socket, 二者api不兼容。 socket socket_create 创建的socket更底层,基本和c的socket接口一样,可以设置很多socket选项, 和c接口一样使用起来比较繁琐。操作底层socket必须使用socket_xx系列函数,无法使用stream类型的函数,比如无法使用fread fwr...
  • 【6】PHP守护进程创建的标准流程

    blogdaren 2018-03-20   277次来访
    什么是守护进程? 守护进程是运行在后台并且不受终端控制的进程(如输入、输出等),一般的网络服务都是以守护进程的方式运行。 守护进程创建的标准流程: 调用umask设置文件创建的掩码 fork子进程并关闭父进程 调用posix_setsid创建新会话 把当前工作目录切换为根目录 把不需要的文件描述符全部关闭 ...
  • 【7】CentOS使用pv(Pipe Viewer)命令查看执行进度

    blogdaren 2018-03-15   352次来访
    官方网站:http://www.ivarch.com/programs/pv.shtml pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline betw...
  • 【8】CentOS 6.5如何使用 yum 安装node.js以及npm?

    blogdaren 2018-03-15   325次来访
    CentOS上可以自行下载*.tar.gz安装包通过编译的方式安装,也可采用EPEL方式安装: Node.js and npm are available from the Fedora Extra Packages for Enterprise Linux (EPEL) repository. If you haven't already done so, fir...
  • 【9】PHP采集利器之phpQuery的用法详解

    blogdaren 2018-03-14   336次来访
    官方文档地址: https://code.google.com/archive/p/phpquery/wikis See Gitub: https://code.google.com/p/phpquery https://github.com/TobiaszCudnik/phpquery https://github.com/phpquery/phpquer...
  • 【10】【原创】解决 git clone 报错 fatal: unable to access '......': SSL connect error

    blogdaren 2018-03-12   1527次来访
    问题背景: git clone https://github.com/gmarik/Vundle.vim.git  ~/.vim/bundle/Vundle.vim,结果报错: fatal: unable to access 'https://github.com/VundleVim/Vundle.vim.git/': SSL connect error 问题原因...
  • 【11】【原创】解决 git clone 报错 fatal: HTTP request failed

    blogdaren 2018-03-12   2866次来访
    问题背景: git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 问题现象: 执行后报错: 1. error while processing: https://github.com/VundleVim/Vundle.vim.git/info/refs ...
  • 【12】【原创】关于PHP CURL返回数据乱码的问题解决方法

    blogdaren 2018-03-08   335次来访
    问题背景: 抓取某网站数据,FireFox的FireBug检测到返回数据正常,但是PHP CURL返回的数据是一堆乱码。 问题原因: 服务端返回的数据被压缩过了,curl 未能正确解压导致。 解决办法: curl_setopt($ch, CURLOPT_ENCODING, "");  备注说明: ...
  • 【13】【原创】CentOS如何设置开机等待时间?

    blogdaren 2018-02-08   583次来访
    问题背景: 1. 每次开机时,都会有系统等待时间,该选项常用于修改密码,若不需要修改密码的话,可修改之。 2. 有时我们会觉得开机选项这部分等待时间太长...... 问题解决: 1. vi /boot/grub/menu.lst 2. 修改 timeout = N  注意事项: 1. 上述的 N 代表你想设置的等待时间...
  • 【14】【原创】Git -i 指定私钥文件【即如何告诉git要使用哪个私钥?】

    blogdaren 2018-01-02   617次来访
    问题背景: 使用git ssh管理项目文件时,系统默认会使用的私钥文件:/path/to/.ssh/id_rsa, 如果你的私钥不是这个文件,怎么办? 问题原因: 虽然git支持ssh 协议,但是官方并不支持类似 ssh -i 指令来指定要使用的key文件(私钥)。 解决方案: 借助一个shell脚本来实现,就可以方便的指定私钥文件,命令:gitsh -i ...
  • 【15】PHP中在类名后面加一个::class是什么意思?比如:Database::class

    blogdaren 2017-12-26   642次来访
    答案: 1. 自 PHP 5.5 起,关键词 class 也可用于类名的解析。 2. 使用 ClassName::class 可以获取一个字符串,包含了类 ClassName 的完全限定名称。 3. 这对于使用了 命名空间 场景的类非常适用。