首页 PHP专区
  • 【1】PHP扩展之VLD:查看OPCODE中间代码

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

    blogdaren 2018-03-26   672次来访
    直接贴一段代码: <?php $pid = pcntl_fork(); $pid < 0 && die('fork failed....'); if($pid > 0) { pcntl_signal(SIGINT, function($signo){ echo "master caught a signa...
  • 【3】【原创】socket_create和stream_socket_server创建出来的socket有啥区别?

    blogdaren 2018-03-20   573次来访
    PHP提供了两种类型的socket:socket 和 stream_socket, 二者API互不兼容。 socket_create 1、socket_create 创建的socket更底层,类似于C语言的socket接口,使用起来比较麻烦。 2、操作底层socket必须使用 socket_* 系列函数,无法使用stream类型的函数,比如无法使用fread、fwrite,自...
  • 【4】PHP守护进程创建的标准流程

    blogdaren 2018-03-20   348次来访
    什么是守护进程? 守护进程是运行在后台并且不受终端控制的进程(如输入、输出等),一般的网络服务都是以守护进程的方式运行。 守护进程创建的标准流程: 调用umask设置文件创建的掩码 fork子进程并关闭父进程 调用posix_setsid创建新会话 把当前工作目录切换为根目录 把不需要的文件描述符全部关闭 ...
  • 【5】PHP采集利器之phpQuery的用法详解

    blogdaren 2018-03-14   451次来访
    官方文档地址: 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...
  • 【6】【原创】关于PHP CURL返回数据乱码的问题解决方法

    blogdaren 2018-03-08   432次来访
    问题背景: 抓取某网站数据,FireFox的FireBug检测到返回数据正常,但是PHP CURL返回的数据是一堆乱码。 问题原因: 服务端返回的数据被压缩过了,curl 未能正确解压导致。 解决办法: curl_setopt($ch, CURLOPT_ENCODING, "");  备注说明: ...
  • 【7】PHP中在类名后面加一个::class是什么意思?比如:Database::class

    blogdaren 2017-12-26   711次来访
    答案: 1. 自 PHP 5.5 起,关键词 class 也可用于类名的解析。 2. 使用 ClassName::class 可以获取一个字符串,包含了类 ClassName 的完全限定名称。 3. 这对于使用了 命名空间 场景的类非常适用。
  • 【8】php 的 opcache 和 php jit 有什么区别?

    blogdaren 2017-11-24   975次来访
    1. 概念 JIT这个概念其实来自Java,在Java里,JIT编译器的工作过程就是将字节码编译为机器码的过程。 如果把PHP和Java做对应,那么PHP编译成OPCode的过程就是Java编译为字节码的过程,而引申起来,PHP的JIT,也就是把OPCode编译为机器码的过程。 更简单的说,Zend引擎将PHP程序编译成OPCode,而后再交给PHP解释器执行,这样的过...
  • 【9】【原创】PHP Curl Problem with the SSL CA cert (path? access rights?) 解决

    blogdaren 2017-09-28   1360次来访
    问题背景: 早上起床收到短信提醒,WEB服务器集群发现漏洞,于是更新服务, 其中一条是: yum update openssl  问题现象: 1. 命令行直接使用系统的curl命令一切正常 2. LAMP环境中调用curl则报错: Curl Problem with the SSL CA cert (path? access rights?)...
  • 【10】为什么要考虑把代码抽象化, 它到底比硬编码好在哪?

    blogdaren 2017-09-22   925次来访
    把代码抽象化就好比发工资,大家发了工资后要做什么,肯定是不一样的,有的人要上缴老婆,有的人要还贷款,有的人要给父母家用,等等。 如果我们直接去定死了发了工资就干什么,那肯定不适用所有人的情况;而且一般情况下,我们也只需要知道工资发下来就行了,至于工资拿来干嘛,那根本不是别人关心的事。 转化成代码的话,那我们只要规定好每个工作人员都有个拿到工资的接口,至于接口里面具体要实现什么样的功能,每个人自...
  • 【11】【原创】ubuntu如何安装Composer For PHP?

    blogdaren 2017-07-24   992次来访
    官网地址: https://getcomposer.org/ step 1: 进入安装目录 cd /usr/local/bin step 2: 下载并安装 sudo curl -s https://getcomposer.org/installer | sudo php step 3: 赋予执行权限 sudo chmod a+x composer.p...
  • 【12】【原创】UCenter用户中心找回或修改创始人密码方法

    blogdaren 2017-02-28   1377次来访
    1. 首先定位到配置文件: /path/to/uc_server/data/config.inc.php, 找到如下两行: define('UC_FOUNDERPW', 'fdasd310e8c5d5fdfaafb5'); //创始人密码    ...
  • 【13】【原创】在浏览器访问特定的域名时如何自动访问到指定的端口?

    blogdaren 2016-12-26   1464次来访
    问题背景: 假定有一完好域名: www.blogdaren.com,  由于某些原因默认的80端口被占用, 现在启用监听8080端口,那么当我在浏览器请求 www.blogdaren.com 的时候, 如何让浏览器能自动的请求到 8080 端口去?【因为默认浏览器会自动请求到80端口】 解决方法: 1.  直接带端口访问: http://www.bl...
  • 【14】【原创】PHP常用字符串处理函数大全

    blogdaren 2016-12-08   1291次来访
    PHP 的字符串处理功能非常强大,主要包括: 字符串输出     echo():输出一个或多个字符串     print():输出一个字符串     printf():输出格式化字符串 字符串去除     trim():去除字符串 首尾 空白等特殊符号或指定字符序列 ...
  • 【15】关于大数据分页查询和redis之SortedSet应用

    blogdaren 2016-09-26   1726次来访
    当查询结果包含的数据量非常大的时候,往往需要分页查询。本文总结一些分页查询的技巧,及如何用mysql cassandra和redis等实现分页查询的方案。 问题背景 做论坛时候遇到了如下问题: 论坛里可以有很多的主题topic,每个topic对应到很多回复reply,现在要查询某个topic下按照replyTime升序排列的第pageNo页的reply,每页pageSize个r...