首页 PHP专区
  • 【1】【原创】如何解决运行pear出现“PHP_PEAR_INSTALL_DIR is not set correctly”问题?

    blogdaren 2018-04-22   972次来访
    问题背景: windows环境运行pear以后,运行pear出现 "PHP_PEAR_INSTALL_DIR is not set correctly" 问题截图: 问题原因: 1. 第一个原因普遍是网上说的:PHP_PEAR_INSTALL_DIR环境变量设置不正确导致。 2. 第二个原因很重要,那就是中文目录是识别不了的,不支持,博主就是踩...
  • 【2】How to fix PHP configure “CC Internal error Killed (program cc1)” error?

    blogdaren 2018-04-18   1223次来访
        For most case, you will typically install PHP from the repository of your corresponding Linux distribution.      For example, on CentOS or Red ...
  • 【3】workerman使用redis存储遇到的“脏数据读”问题

    blogdaren 2018-04-13   2254次来访
    如上图所示, 问题有三: (1) ":11269" ---> 即数字11269前为何会多出个冒号来【所谓的脏数据】? (2)如何避免上述1提到的现象? (3)不同的客户端为何查询到了相同的数据?比如图示 11271; (4)如何避免上述2提到的现象? 问题产生原因以及解决方案: (1)问题原因: workerm...
  • 【4】【原创】深入理解 array_reduce() 执行原理

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

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

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

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

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

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

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

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

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

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

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

    blogdaren 2017-07-24   1533次来访
    官网地址: 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...