Press "Enter" to skip to content

留言

除了在这里留言, 如果紧急你也可以在微博: @Laruence, Twitter: @Laruence, 或者Github: @Lareunce上找到我.

如果有兴趣,也可以关注我的微信公众号,不定期可能会写写小东西:

1,415 Comments

  1. uu
    uu October 9, 2022

    大神,能不能编译一个openwrt 系统下的yaf扩展

  2. none
    none February 14, 2022

    2022年了,PHP8.1都已经出来快大半年了。问下PHP 9.0有啥规划吗?

  3. 果车
    果车 September 10, 2021

    鸟哥你好,请问可以修改php://stdout的输出长度吗?在我输出一定长度的内容,控制台会已两条的形式显示,其中有一部分是省略号,使用的是php5.6 php-fpm

  4. 王迪
    王迪 September 8, 2021

    能不能讲一下PHPcgi的配置都是什么意思,官方文档上说了有风险可以关闭force_redirect,这个cgi.force_redirect是做什么的呢?强制重定向?重定向到哪里?

    • 王迪
      王迪 September 8, 2021

      cgi.check_shebang_line
      cgi.discard_path
      cgi.fix_pathinfo
      cgi.force_redirect
      cgi.nph
      cgi.redirect_status_env
      cgi.rfc2616_headers
      fastcgi.impersonate
      fastcgi.logging

  5. 马jie
    马jie August 25, 2021

    $time = strtotime(‘2021-08-23 17:47:33’);
    date_default_timezone_set(‘Europe/Volgograd’);
    $date = date(“M j, Y g:i a “, $time);
    print_r($date);

    上面代码在 php7.0 和php7.4 得出的结果相差一个小时,似乎是php74 把Europe/Volgograd当成了东4区处理,大神,这个算是7.4的bug吗?

  6. icebr
    icebr August 11, 2021

    鸟哥好,关于php8 jit的一个疑惑,当使用spl_autoload_register注册自动加载后,自动加载的php不会被jit优化,有好多框架依赖自动加载,这个不知道是我理解不对还是确实是这样的,如果是这样的后面会优化这种情形吗?

    • laruence
      laruence August 11, 2021

      你理解不对,JIT有几种方式,包括trace,funciton,file等,对于hot trace,或者function都会被jit化。 不过一般的autoloader都会很简练,jit后可能受益也不会太明显

      • icebr
        icebr August 19, 2021

        好的鸟哥,我测的某些场景感觉性能提升还是挺明显的,我是这样测的,场景1 a.php 使用include或require b.php,b.php简单的循环一定次数,输出运行时间,场景2 使用spl_autoload_register这种方式自动加载的b.php中,也做相同的循环,但运行时间是场景1的2倍左右,然后在一个小框架中 把场景2改成场景1的方式,相同的环境,使用ab -k压测相同的代码,qps从5W左右提升到7W左右

        • icebr
          icebr August 19, 2021

          抱歉我可能没描述明白,我的意思是 不是要优化autoloader函数本身,而是通过autoloader加载的后续文件中的代码不会被优化到,比如上面说的,场景2中的b.php内部的代码不会被jit优化到

  7. hejxing
    hejxing July 3, 2021

    在PHP8下cli模式和fpm模式下生成的opcode文件的system_id是相同的,但是这两种模式下的bin文件并不通用,如果fpm模式用到了cli模式生成的bin文件,会直接报502错误。我比较过两种模式生成的bin文件确实有差异。我现在的解决办法就是cli模式和fpm模式分别指定配置文件(php.ini / php-fpm.ini) 将 opcache.file_cache指向不同的目录来解决这个问题。

  8. Nevin
    Nevin May 23, 2021

    我隔壁竟然是你,38.143.9.142

  9. Mark
    Mark March 9, 2021

    恭喜鸟哥获得TVP

  10. SDPoplar
    SDPoplar March 1, 2021

    鸟哥您好,我最近在看PHP8的新特性,看到了Named Arguments,于是做了如下测试:
    /*
    interface tp
    {
    public function test( int $op1 = 1, int $op2 = 2, int $op3 = 3, param $right_name );
    }
    */

    abstract class tp // tp = test parent
    {
    abstract public function test( int $op1 = 1, int $op2 = 2, int $op3 = 3, int $right_name );
    }

    class tc extends tp // tc = test child
    {
    public function test( int $op1 = 1, int $op2 = 2, int $op3 = 3, int $wrong_name )
    {
    echo “{$op2}, {$wrong_name}”;
    }
    }

    function factory() : tp
    {
    return new tc();
    }

    factory()->test(right_name: 10086); // Fatal error: Uncaught Error: Unknown named parameter $right_name
    factory()->test(wrong_name: 10086); // OK

    得到这样的结果解释是很容易的,因为实际调用test方法的实例类型是tc,而不是tp,但如代码中所写,很多时候我们都是从工厂方法中获取实例的,并不知道或者“习惯于并不关心”实例的实际类型是什么,就不得不放弃这个新特性,而是使用原有的强行传入每个参数以匹配参数列表的方式调用

    不知PHP团队是否会在未来对这种情况提供内置的参数名翻译机制,或者增加继承或实现时对参数名称的强制匹配限制,如能等到鸟哥回复将不胜荣幸,谢谢

  11. YiPlus
    YiPlus February 19, 2021

    投稿:https://shimo.im/docs/Dp6V3yCKjygRHttq/ 《wordpress国内网速慢加速及防DDOS攻击快速CF切换教程》

  12. netmou
    netmou February 1, 2021

    /** 见列表根据字段转换成树状结构 */
    public function listToTree($dataList, $rootId = 0, $pk = ‘id’, $pidName = ‘pid’, $childName = ‘child’){
    $tree = [];

    $referList = [];
    foreach ($dataList as $key => &$node) {
    $node[$childName] = [];
    $referList[$node[$pk]] =& $dataList[$key];
    }
    foreach ($dataList as $key => $node){
    $pId = $node[$pidName];
    if ($rootId == $pId){
    $tree[] =& $dataList[$key];
    }else{
    if (isset($referList[$pId])){
    $pNode =& $referList[$pId];
    $pNode[$childName][] =& $dataList[$key];
    }
    }
    }

    return $tree;
    }

    请问第一个foreach中 & $dataList[$key] 和 $node 有什么区别

  13. SDPoplar
    SDPoplar December 28, 2020

    鸟哥您好,冒昧留言,如有打扰还请见谅
    想建议PHP给and(&&)另加一个别名,then
    经常看到这样的代码:
    mysqli_connect( xxx, yyy ) or die( ‘Cannot connect to database’ );
    这里的or虽然和||等效,但写成or会让人在阅读代码时理解为“连接数据库成功,【否则】终止”,阅读性比使用||要好上太多,而且因为理解成了【否则】,所以在连接成功以后不执行die也不会有什么奇怪的地方,但类似的
    authValid() && doSomething();
    在阅读性上哪怕是换成了authValid() and doSomething();也最多理解成“验证授权成功,【并且】做些什么”,而且理解成【并且】以后容易让人认为两件事都是应该做的,少了一层因为短路机制在前者不成立时放弃后续的因果性
    但是如果&&有then的别名就不同了
    authValid() then doSomething();
    这里的then更容易被理解成【则】,表示只有前者成立才进行后续,在阅读上更通顺

    如果我的建议太过幼稚还请鸟哥当作没看见,祝工作顺利,身体健康

    • abyan
      abyan January 5, 2021

      逻辑运算就是这样,不是PHP独有

    • Mark
      Mark February 25, 2021

      那不用缩写就行啦,
      if(authValid()) doSomething();

  14. BrucePlelm
    BrucePlelm December 8, 2020

    היא הלכה בסך הכל לבדוק מה שלום הואגינה שלה אבל הרופא הזה רצה לבדוק עד כמה אפשר לענג אותה
    נערות ליווי

  15. CNPHP
    CNPHP November 28, 2020

    针对PHP8的个人想法。

    鸟哥大神,您作为PHP开发组核心人员,我觉得有必要对您提醒,就是PHP不要再新增一些怪异的写法了。作为一门语言,语法严谨是非常有必要遵守的。现在的PHP越来越奇葩了,比如:
    1、function f($a, $b, ){…}
    这样的写法(参数中的最后一个,号),根本不应被允许,以前在array(1, 2,) 这样的语法中,粗心的程序员大意多写了最后号能被原谅,现在竟然一再纵容这样的写法,太不应该;

    2、match 语法,因为 match 功能,完全能用switch简单的处理,多此一举,用match并不会让程序员少写几个字符,如此这样让PHP显得杂乱、怪异,臃肿;

    3、nullsafe 运算符;
    $country = $session?->user?->getAddress()?->country;
    这个更完全没有必要嘛,不否认,在地球的某个角落某个项目在开发时可能有这样的判断需求,但必竟这只是某个程序员的需求,不能为了某个程序员的需求,而特意创造出这么一个怪异的语法,让他多写一个if判断会断手吗?不能为了一棵树,而污染整个森林;

    ……

    不希望PHP走火入魔,步入歪门邪道。
    作为一门语言,一定要严谨,简洁,高效。

    • wuding
      wuding December 2, 2020

      开发组有开发组的考虑和想法^_^

      你说的 3 点好像都不是问题:

      1. 这样正是为了高效,你能确定后面不再加参数了?一定容错性还是必要的。
      我都部分不写参数了,直接 func_get_args()

      2. 你都没认真看 php 8.0 发布页的对比说明吧?match 是严格比较,switch 不是。
      正对应了你说的严谨 ; )

      3. 对应了你说的简洁,一个问号替代一个判断是多么的……难能可贵!

    • john
      john December 2, 2020

      1、这样增加了容错率,可有可无
      2、建议你去看下鸟哥的关于switch的文章,你就知道为什么要出match了
      3、nullsafe 运算符还是有必要的,如果都用if或者三元的话代码很臃肿,加了这个语法糖可以减少报错

    • SDPoplar
      SDPoplar December 28, 2020

      本人水平有限,仅就第一点稍聊一下本人的想法
      把允许后面的逗号称作邪道是不合适的,因为这个改动允许了太多的可能性,尤其当代码格式书写为
      function(
      $a,
      $b,
      $c,
      ) {}
      时,同理
      $dict = [
      ‘a’ => ‘A’,
      ‘b’ => ‘B’,
      ]
      甚至
      return true
      && validate_1()
      && validate_2()
      && validate_3()
      && true;
      这些写法都有同一个特点:
      无论是debug需要还是需求变更,我可以随时注释其中的任意一行而不用担心对其它成员产生影响,因为“每一行的格式都是相同的”,有简洁的实现方式却非要“多改一点”,无论从工作效率还是git merge的冲突风险上来说都是负收益,只有批卷老师抱着给别人挑毛病的态度看别人代码才会纠结所谓最后没有逗号是“严谨”

  16. mou
    mou November 27, 2020

    今天体验了下php8,最不能接受的是 warning:php Undefined array key
    以前直接写
    if ($_GET[‘act’] == ‘logout’) {
    xxxxx
    }
    现在需要这样
    if (isset($_GET[‘act’]) && $_GET[‘act’] == ‘logout’) {
    xxxxx
    }
    //以前:

    用户名:
    <input type="text" name="nick" value="” style=”width:120px;” />

    //现在

    用户名:
    <input type="text" name="nick" value="” style=”width:120px;” />

    感觉现在的php8 没有以前方便了,现有的项目库好多都要改,不想升级了

    • mou
      mou November 27, 2020

      下面的例子被过滤了 以前: value= “$_COOKIE[‘nick’]” 现在: value= “$_COOKIE[‘nick’]??””,太难受了

      • wuding
        wuding November 27, 2020

        哪有直接吃“生肉“的,你可以写个函数,例如:
        function get($key, $value = null) {
        return $value = $_GET[$key] ?? $value;
        }
        if (‘logout’ == get(‘act’))
        cookie 同上^_^

    • xstnet
      xstnet November 27, 2020

      本来就不能直接用吧, 不管是什么版本的, 你能直接用而不报错那只能说明错误级别开的高,
      数组的key不存在的时候肯定会报错的

      你也可以试试在php8把报错关掉也能直接使用 比如 ini_set(‘display_errors’, false);
      或者设置错误级别为Fatal Error, error_reporting(E_ERROR); 这样也能直接使用, 但是这终归不是好习惯

      • mou
        mou November 27, 2020

        最看重的就是php的弱类型,快捷,拿来就能用,以前是notice错误,现在是warning错误,有必要吗,就凭这一点,感觉php要凉凉

    • Mark
      Mark February 25, 2021

      warning:php Undefined array key
      哪个版本都这样,只是作为提示,屏蔽就行了。
      if($_GET[‘act’] ?? ” == ‘logout’){
      xxx
      }

  17. cocke
    cocke November 27, 2020

    今天看到8出来了,特意过来留言,为了让php更多可玩性,更高的应用场景,能否在pecl支持更多扩展,例如最近几年很流行的opencv

  18. nswdox
    nswdox November 23, 2020

    :),菜鸟级的PHP程序员可以留言吗?
    我在阅读PHP源码包的代码时,发现有一个函数只有它的声明,却怎么也找不到它的实体定义在哪,但它会在代码中多次调用到,这个函数就是:zendparse(),它声明在 Zend\zend_globals_macros.h 文件中,鸟哥能帮我解惑一下吗?PHP版本5.6/7都可以

    • nswdox
      nswdox November 23, 2020

      真不好意思,不用麻烦了,找到了。

  19. ming.g
    ming.g November 18, 2020

    hi,我遇到一个棘手的问题,我们项目在线上稳定运行了一年多,近一个礼拜都没有更新,突然遇到类似于这个“PHP Parse error: syntax error, unexpected ‘{‘ in php://input on line 3″ while reading response header from upstream”的“php://input”语法错误,重启php-fpm之后问题消失,过一段时间(1-2个小时)问题又再现了,不知道你有没有遇到过,之前版本是7.0.16,升级到7.0.33问题依旧

  20. john
    john November 12, 2020

    鸟哥,麻烦问下,php内置函数的注解在哪啊,我看源码没看到,看ide里面都是从php.jar里面读取的

  21. Z
    Z October 22, 2020

    $a = 1;
    $a = $a + $a + ($a = 2);

    $b = 1;
    $b = $b + ($b = 2);

    为什么$a = 4 $b = 4

    • laruence
      laruence October 24, 2020

      结合优先级,以及一个表达式的展开顺序,应该不难理解。

      $a = $a + $a + ($a = 2)
      $a = ($tmp = (1 + 1)) + ($a = 2)
      $a = 2 + 2;

      $b = $b + ($b = 2)
      $b = 2 + 2
      不过,不鼓励写这种代码。

      • noob-coder
        noob-coder November 17, 2020

        $a = 1;
        $a = $a + $a + ($a = 2);

        $a的最终结果会有不确定性,在我的Linux服务器上可能输出2,也可能输出3,甚至是1605600468.3297,或者服务器502错误,这是什么问题呢?

        • 王召波
          王召波 February 4, 2021

          不要研究这种毫无意义的问题 ,现实中谁这么写啊, 为了显示自己技术”好”? 没人写这种让人不易读懂的代码

  22. wqian
    wqian October 10, 2020

    问个问题?
    $arr[‘test’]= NULL;
    !isset($arr[‘test’]) ===TRUE
    为什么是TRUE ,设置了值,只是NULL,这样判断就不好判断了。。。

    • Z
      Z October 15, 2020

      因为$arr[‘test’] 这个键名是存在的 ,所以是true

      • john
        john November 12, 2020

        麻烦去看下isset定义

    • zztianxie
      zztianxie October 20, 2020

      要知道isset是干嘛用的,它只关心是否是否被定义,不关心被赋什么样的值

    • sleepy-lamp
      sleepy-lamp October 28, 2020

      没必要非要赋值 NULL,赋一个其他的值作为默认应该是可以的。

    • john
      john November 12, 2020

      !isset($arr[‘test’]) ===TRUE可以理解为!(false===true)

      • Z
        Z December 28, 2020

        不,你理解错了

    • sliller
      sliller December 21, 2021

      isset() 函数用于检测变量是否已设置并且非 NULL。

  23. fanghai
    fanghai September 19, 2020

    中国第一PHP大神,怀着非常忐忑的心情给您来信,但不知道您会不会回我!如果能回我,那非常非常感激您!!
    就是在开放PHP扩展中,有一个问题我研究了很久了,就是如何在自己的扩展函数中取得当前PHP文件路径,意思如下:
    ————————————
    PHP_FUNCTION(get_php_path) {
    //filename=”获得当前PHP文件路径”;
    php_printf(“%s”, filename); //相当(或类似)于 echo __FILE__;
    }

    • laruence
      laruence September 19, 2020

      你可以在php源代码中搜索,zend_get_executed_filename

  24. JinxNN
    JinxNN September 15, 2020

    您好~我是腾讯云+社区的运营,关注了您在分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan
    作者申请此计划后将作者的文章进行搬迁同步到社区的专栏下,你只需要简单填写一下表单申请即可,我们会给作者提供包括流量、云服务器、域名等,另外还有些周边礼物。  我们诚挚的邀请您并期待您的加入~
    腾讯云+社区是由腾讯云全新打造的一个技术交流社区,正在引入更多的作者与优质文章,就此社区推出一个自媒体的分享计划。

  25. MIke
    MIke September 15, 2020

    大佬,有人发现你在天天玩王者荣耀
    随带请教:PHP的字节码的手册有吗?想学习下。

  26. simon liu
    simon liu August 31, 2020

    强烈建议php8注解标识符改为@:
    单行注解:@:
    多行注解:@:{}

    • laruence
      laruence September 19, 2020

      改成#[]了

      • simon liu
        simon liu September 26, 2020

        您好鸟哥,非常感谢您的回复,注解标识符改成#[]确实好多了,但不知能否用#{},因为[]是数组定界符,写完”]”后会习惯性的加上”;”号,而{}为通用代码块符号,不会影响书写习惯,个人愚见,不知用#{}有何不妥。

  27. hunter
    hunter August 21, 2020

    Deprecated: The behavior of unparenthesized expressions containing both ‘.’ and ‘+’/’-‘ will change in PHP 8: ‘+’/’-‘ will take a higher precedence

    php7.4 调试的时候 出现这个 如何处理?大神

    • xidear
      xidear November 2, 2021

      你是不是写了类似于 “结果是:”.$num1+$num2.”个”; 这种代码了

  28. suifeng
    suifeng August 20, 2020

    你好鸟哥,问您一个问题,php在计算金额时是用+-*/还是用bc函数 还是有什么更好的方法呢?谢谢!

    • kevinfei
      kevinfei February 8, 2021

      鸟哥比较忙,我觉得个人建议你使用精密计算会更好一些

  29. andy
    andy August 17, 2020

    HI,鸟哥,php7 cli模式会启动gc吗

  30. 小小phper
    小小phper August 7, 2020

    三年phper还停留在CURD 做过的项目都没有一个上线运营的 更别遇到性能问题了 不知道如何提升

  31. art
    art July 13, 2020

    $bytes = socket_recv($source, $buffer, 65535, 0);
    //第三个参数似乎超过 2848 就无效了,接收大于 2840 包会出现无法解码(unwrap)
    //是否即所谓的分包、粘包?与 tcp、网络ip自动传输大小有关?
    //socket_get_option 函数获取到发送、接收缓冲区分别为:16384 和 87380
    //请问:在不想将大包分割为小包或包头(总包大小)、包体的前提下如何接收完整的大包数据?

  32. xiao ou
    xiao ou June 18, 2020

    鸟哥,我想模仿您的博客网站?如果您不介意的话希望介绍一下这个网站的框架,谢谢了!

  33. ouxiao
    ouxiao June 18, 2020

    鸟哥,我想模仿您的博客网站?如果您不介意的话希望介绍一下这个网站的框架,谢谢了!

  34. Selol
    Selol June 15, 2020

    鸟哥,请问php如何实现设置函数的执行超时时间呢?尝试用pcntl_alarm,但其在block的io操作时无效,比如
    $start = microtime(true);
    try {
    declare(ticks=1);
    pcntl_signal(SIGALRM, function () {
    throw new RuntimeException(‘123’);
    });
    pcntl_alarm(5);

    $client = new \GuzzleHttp\Client();
    # this will block 10s
    $client->request(‘get’, ‘http://10.145.80.178:8224/delay/10’);
    } catch (RuntimeException $e) {
    var_dump($e->getMessage());
    echo “reach time out\n”;
    }
    $total = microtime(true) – $start;
    echo “time spent {$total}\n”;

    这个依然会消耗10s。如果改成sleep10则只会消耗5s。

    类似的代码在python中会达到我想要的效果

  35. ken
    ken June 7, 2020

    在Mac编译安装好Phalcon扩展后,phpinfo()看不到phalcon.so扩展信息。
    php输出信息是这样的(PHP版本7.3.18):

    执行:
    /apps/php7318/bin/php73 -i |grep ini

    输出:
    PHP Warning: PHP Startup: Unable to load dynamic library ‘phalcon.so’ (tried: /apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so (dlopen(/apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so, 9): Symbol not found: __zval_ptr_dtor
    Referenced from: /apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so
    Expected in: flat namespace
    in /apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so), /apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so.so (dlopen(/apps/php7318/lib/php/extensions/no-debug-non-zts-20180731/phalcon.so.so, 9): image not found)) in Unknown on line 0
    Configuration File (php.ini) Path => /apps/php7318/etc/
    Loaded Configuration File => /apps/php7318/etc/php.ini

    • ken
      ken June 7, 2020

      鸟哥,求救!

    • laruence
      laruence June 8, 2020

      你这应该去问phlacon团队啊,反正倒也可以下载源代码试试自己编译

  36. nan
    nan June 6, 2020

    鸟哥,str_getcsv在7.0以上版本做修改了吗,比如’中国,我们’会当成数组中的一个元素[‘中国,我们’]处理,但是5.6的时候会当成两个元素[‘中国’,’我们’]

    • laruence
      laruence June 8, 2020

      不应该啊,注意看下是不是你的文件编码不一样

      • nan
        nan June 9, 2020

        你可以试下str_getcsv(‘组,你好’)和str_getcsv(‘退,你好’),前一个只有一个元素,后一个是两个元素了,我测试着只要是z开头的汉字大部分都会当成一个处理,不知道什么逻辑

        • laruence
          laruence June 10, 2020

          你看这个,https://3v4l.org/Bj36v

  37. xiaohuihui
    xiaohuihui June 4, 2020

    你好鸟哥 问你一个问题 mysql数据库再涉及金额的字段时用什么数据类型呢
    又说用bigint 又说用decimal 。哪个好呢

    • laruence
      laruence June 8, 2020

      涉及金额肯定要有小数的吧

    • nan
      nan June 10, 2020

      我测试着linux和mac上面都是可以的,我使用的是windows的结果显示的就不一样了,linux和mac都显示\n array(2) {
      [0]=>
      string(6) “退组”
      [1]=>
      string(6) “你好”
      }
      而windows显示 array (size=1)
      0 => string ‘退组、你好’ (length=15)

        • nan
          nan June 10, 2020

          我直接命令行执行的啊,我在windows上使用gbk和utf-8都显示一样的结果

    • Moxyu
      Moxyu July 8, 2020

      bigint以分为单位也可以,但是编码的时候需要自己处理单位转换

  38. shendun
    shendun May 3, 2020

    参考PHPAPI PHP_FUNCTION(fwrite)的实现,在ZEND_DO_ICALL里拦截fwrite函数,通过ZEND_CALL_ARG获取第一个参数然后用zend_fetch_resource获取文件路径失败,zend_fetch_resource2/zend_fetch_resource2_ex也不行,然后参考了taint的实现,也获取不到路径,但是在PHP5下可以获取到fwrite要写入的文件路径,请问是什么原因呢?

  39. json
    json January 4, 2020

    大神问下,我看到7.4版本每个扩展模块下面都有个extension.stub.php文件,这个应该是用来支持ide友好提示的吧,自己写的扩展怎么生成这种文件呢

    • laruence
      laruence February 24, 2020

      一方面是为了ide, 一方面是为了自动生成php扩展的arginfo, 手动写 🙂

    • json
      json March 28, 2020

      大神,在看php的源码,使用zend_string_init函数后,之后应该使用zend_string_release函数减少引用,可是string.c 中有的地方并没有调用zend_string_release函数,有些困惑什么情况下需要调用release

  40. 在路上
    在路上 December 31, 2019

    我是路过的,顺便混个脸熟。

  41. jane
    jane December 4, 2019

    鸟哥大佬,PHP更新7.4稳定版了,yac能更新支持下吗?我更新并安装好提示版本不合适。

  42. john
    john December 3, 2019

    鸟哥麻烦问下字符串中$str{1}和$str[1]什么区别啊,我在官网上也没找到答案

    • laruence
      laruence February 24, 2020

      7.4之前没区别,7.4之后$str{1}会触发deprecated警告。也就是尽量用[]吧

  43. 444
    444 October 23, 2019

  44. LMK
    LMK September 25, 2019

    github过来的。

  45. 周雨婷
    周雨婷 September 19, 2019

    最近我们有个项目,需要生成一个在固定范围内游走的K线图,然后我们经理使用Python加上随机游走算法能解决这个问题,想请问PHP有没有相关方面的知识呢?

    • 张秦萁
      张秦萁 April 24, 2020

      我最近也在研究这个

      • laruence
        laruence April 24, 2020

        这个我还真不知道,没用到过

  46. lnto
    lnto August 30, 2019

    PHP调用webservice, 无视/etc/hosts修改,这是什么情况 ?
    gethostbynamel函数也是一样的。

  47. nan shire
    nan shire August 30, 2019

    最近我看到一个东西,叫做php文件锁的,按照说法,是高并发并且有事务的情况下,为了缓解mysql端的压力,因为事务会让mysql端有很多等待的语句要处理,所以用在php这边弄一个文件锁,请求的时候锁住,结束开锁,其中也会继续用事务,但是保证了mysql端不会有那么多事务的请求。但是这会消耗php服务器很多效率不是吗,这种做法是否可取,所以在这里问问您,想知道鸟叔您的看法。

    • 崔少云
      崔少云 March 23, 2020

      mysql也是cs模式,就算是消耗资源也是消耗mysql服务器资源。和php没有任何关系

  48. ming
    ming August 23, 2019

    我遇到一个比较诡异的问题,想向你请教一下
    我有一个php服务一直比较稳定,最近遇到php某几个进程刚接到请求,缓冲区就有“5555”内容,重启php就没问题了,过一段时间又出现,我在index.php第二行输出ob_get_contents(),就有这个内容,后来我使用ob_clean()解决了
    之后有php进程好像没有处理php逻辑就直接返回给nginx
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:07 +0800] “GET /test.php HTTP/1.1” 200 2.001 39 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:12 +0800] “GET /test.php HTTP/1.1” 200 2.001 39 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:20 +0800] “GET /test.php HTTP/1.1” 200 2.001 39 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:24 +0800] “GET /test.php HTTP/1.1” 200 2.002 39 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:25 +0800] “GET /test.php HTTP/1.1” 200 0.000 31 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    – – – – 122.14.46.103 – – [23/Aug/2019:12:45:33 +0800] “GET /test.php HTTP/1.1” 200 2.001 39 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36” “-” “/test.php”
    注意第五个请求
    我在test.php内部有sleep,但是有的请求直接0.000时间就返回nginx,而且没有输出内容
    test.php代码
    <?php
    sleep(1);
    $status = ob_get_status(true);
    $pid = posix_getpid();
    $line = __LINE__;
    file_put_contents('/data/var/log/game-log/ob.txt', date('Y-m-d H:i:s') . " [$pid][$line]: " .var_export($status, true) . PHP_EOL, FILE_APPEND);
    sleep(1);
    echo "123" . PHP_EOL;
    echo 'abc' . PHP_EOL;
    $string = ob_get_contents();
    if( !empty($string) )
    {
    $pid = posix_getpid();
    $line = __LINE__;
    file_put_contents('/data/var/log/game-log/ob.txt', date('Y-m-d H:i:s') . " [$pid][$line]: " .$string . PHP_EOL, FILE_APPEND);
    }
    //ob_flush();
    //flush();
    ob_end_flush();
    nginx 1.8.0
    php 7.0.16
    php升级到7.0.33也没有解决

  49. yangknkp
    yangknkp August 21, 2019

    spl_autoload_register 的第二个参数,是否抛出异常有为什么是无效的

    • yangknkp
      yangknkp August 21, 2019

      function loady($className)
      {
      echo “运行 loady\n”;
      $fileName = ‘libs’ . DIRECTORY_SEPARATOR . $className;
      if (file_exists($fileName)) {
      require_once $fileName;
      return true;
      } else {
      echo “loady 失败”;
      return false;
      }
      }
      function loadx($className)
      {
      echo “运行 loadx\n”;
      $fileName = ‘libs’ . DIRECTORY_SEPARATOR . ‘tests’ . DIRECTORY_SEPARATOR . $className;
      if (file_exists($fileName)) {
      require_once $fileName;
      return true;
      } else {
      echo “loadx 失败”;
      return false;
      }
      }
      spl_autoload_register(‘loady’,true);
      spl_autoload_register(‘loadx’,true);
      try {
      new A();
      new B();
      new TestA();
      } catch (\Exception $e) {
      print_r($e->getMessage());
      }

  50. wuliping
    wuliping August 15, 2019

    大神,我有一个想法。我认为PHP是非常不错的语言,业务代码用PHP脚本编写方便快速调整迭代,常用工具可以封装为扩展用c语言实现以提升性能。但是就有一个问题,我最近在学习如何编写PHP扩展并使用,感觉过程还是过于繁杂(可能是因为还没入门吧。。),不过如果可以简化这个流程就好了。

  51. Sean
    Sean August 12, 2019

    老哥你好,我是字节跳动的猎头Sean,这边有字节全线业务的招聘,不知道您目前有没有在看新的机会呢,十分期待您能回复我的消息,希望能和您进一步沟通[可怜][可怜]

    • Sean.bao
      Sean.bao September 17, 2019

      你想招鸟哥?

    • lin
      lin April 22, 2020

      你给鸟哥开月薪100K?

  52. 陈生
    陈生 July 19, 2019

    世界那么大,我想来看看haokan112.com

  53. 留芳网
    留芳网 July 13, 2019

    看来是大神无疑了。漏洞名称
    Redis 基线合规检测
    这个漏洞如何修复啊。

  54. 啊啊
    啊啊 July 5, 2019

    这zend opcache 生成的bin文件有着源码保护的用处,我想知道这种字节码是否可以还原PHP代码,等待你的回复。谢谢

  55. Daniel Cheung
    Daniel Cheung July 2, 2019

    鸟哥,您好,请教一个问题:
    今天做python3的AES采用 ECB 模式,加密key使用16位key,发现加密出来的数据二进制流和直接使用php7中的 openssl_encrypt 加密出来的二进制流最后16个字节不一样,python3采用的是用0x00进行长度补齐,openssl_encrypt 使用的是 OPENSSL_RAW_DATA 方式,不知道 openssl_encrypt 是如何补码的?是否是由于补码方式不一样导致的加密结果最后16个字节不一样。
    谢谢!

  56. 1
    1 June 28, 2019

    zend opcache 的字节码能被反编译吗?

  57. Fireworks
    Fireworks June 20, 2019

    鸟哥,请问你首页的文章截断是怎么做的?我做了一个截断html字符串的,然后我再去补全html标签,但是这样会遇到一个尴尬的问题,例如 URL 地址,或者其他需要完整的字就会断掉。

    • yangfan
      yangfan June 25, 2019

      你可以试试 mb_substr 可能会有惊喜等着你 mb_ 函数系列

      • Fireworks
        Fireworks July 1, 2019

        谢谢 我去试一下

  58. FrPHP-风
    FrPHP-风 June 4, 2019

    您好,久仰大名。我遇到问题了,抱歉,可能会占用您的宝贵时间,但我实在经过多次探索未能解决这个问题,困扰我好久了。
    我是php程序员,最近开发一个项目,发现同一个系统,访问不同页面会出现两个session_id,我翻遍了文档,并没有找到解决方案。下面我说下具体出现的原因:
    项目要实现用户在浏览器打开情况下,就一直保持登录,除非关闭浏览器。
    我想通过不断刷新session来保持session一直正常访问。
    1、我在主框架控制器入口写了函数如下:
    function start_session($expire = 0) {
    if ($expire == 0) {
    $expire = ini_get(‘session.gc_maxlifetime’);
    } else {
    ini_set(‘session.gc_maxlifetime’, $expire);
    }
    $session_cache_dir = APP_PATH.’cache/tmp’;//本地可查看session记录
    if(!file_exists($session_cache_dir)){
    mkdir($session_cache_dir,0777,true);
    }
    ini_set(‘session.save_path’,$session_cache_dir);
    ini_set(“session.cookie_httponly”, 1);
    if (!isset($_COOKIE[‘PHPSESSID’])) {
    session_set_cookie_params($expire);
    session_start();
    } else {
    session_start();
    setcookie(session_name(), session_id(), time() + $expire);
    }
    }
    每次访问都执行一遍:start_session(60);
    2、首次进入页面登录,我保存用户信息用$_SESSION[‘member’],此时出现一个session_id
    cache/tmp能够查看到一个session
    这一套流程下来都没什么问题,访问各个页面都只有一个session,没有任何问题
    3、我在当前页面控制器里写入一个函数:
    //更新session的过期时间
    function update_session_maxlifetime(){
    $cache_time = $cache_time==0 ? 600 : $cache_time;
    setcookie(session_name(), session_id(), time() + $cache_time);
    JsonReturn(session_id().’-‘.$_COOKIE[session_name()].’更新session成功!’);
    }
    //我用ajax每隔几秒访问这个函数,以希望保持session是最新的
    4、这个方法确实能让当前页面不会掉session,但是当我点击当前页面其他栏目链接的时候,会提示重新登录,而且session_id不同,我刷新当前页面也不会提示登录,F12/查看cookie发现PHPSESSID同时存在两个!本地tmp中能看出来,一个session_id的记录是空的,而当前页面的session_id是有数据的!
    5、我做过如下猜测和尝试:
    设置ini_set(‘session.gc_maxlifetime’, 86400);//一天
    本地cookie session_set_cookie_params(60);//60秒
    我觉得应该是服务器先过期,导致cookie未过期,实际上session_id过期了。
    但,并不是,上面问题依旧存在。
    写的内容有点多,希望您能帮我解决一下,非常感谢!

    • ius
      ius August 10, 2019

      你这个好像进不去哦,还是说只有大屏首页

  59. 聚网志成
    聚网志成 May 15, 2019

    我看了不少网站,博主的网站写的不错,收藏了哈,经常来看,有空我们一起做个友qing链jie呗,我的是:www.jw61.com 深圳网站建设,等着你哦。

  60. 小夏阿姨
    小夏阿姨 April 23, 2019

    想请教鸟哥一个关于yaf的问题
    打算基于swoole+yaf实现一个api应用,用rsa对所传输数据进行加密并以raw发送给服务端,服务端取出请求中的raw后尝试对其解密及验签等操作,当解密及验签不成功时,直接响应错误给客户端。
    方案有三:
    1 在Yaf\Plugin_Abstract::dispatchLoopStartup 前某个时刻进行解密验签
    2 controller 继承 Yaf\Controller_Abstract,在init方法中进行解密验签
    3 在入口中 application::run 之前 进行解密验签
    如果用第3个方案就用不了yaf提供的response来达到所有响应统一由一个地方执行了,所以放弃此方案
    如果是前两个方案,问题来了,swoole是禁止在程序中用exit 或 die之类退出的,我们需要怎么跳过controller中的流程而直接响应错误。
    除了上面3种方案是否还有别的方案

    • test
      test April 24, 2019

      config:
      application.dispatcher.throwException=1
      application.dispatcher.catchException = 1
      then thron Yaf\Exception where you want to response app error
      yaf will catch it by ErrorController::errorAction

    • test
      test April 24, 2019

      config:
      application.dispatcher.throwException=1
      application.dispatcher.catchException = 1
      then throw Yaf\Exception where you want to response app error
      yaf will catch it by ErrorController::errorAction

  61. lucky
    lucky April 19, 2019

    不知道你发现没,在php.ini里设置session.cookie_httponly = On 不管在PHP哪一个版本,都是不生效的,设置重启之后,在浏览器里document.cookie一样可以获取到cookie的值.这算不算是一个bug呢?

    • gao
      gao May 5, 2019

      那是js获取 php管不了大哥

      • rory
        rory July 8, 2019

        那这个有设定是什么作用

  62. LeiGong
    LeiGong April 17, 2019

    是时候放点新技术出来了….
    尝点新鲜的~~

  63. jwcom
    jwcom April 16, 2019

    php7.3 里 skel 怎么建自定义的函数,用原来的方式好象不行啊. 系统默认产生的能用…. 不知道有没有相关资源给点~

  64. liulixin
    liulixin April 8, 2019

    遇到的一个问题。用file_get_contents函数去获取图片链接中的图片数据,执行时file_get_contents函数会将一些链接中的&符号自动转化成&符号,导致链接不存在获取数据失败,查了一些资料也没找出什么原因,所以想请教请教鸟哥这是什么问题?

  65. lin ming
    lin ming April 1, 2019

    yaf.lowcase_path 已经开启,建了一个app模块,可以总是提示找不到文件,错误信息如下:/data/cpfp/public/../application/modules/App/controllers/Sdk.php,目录app在项目中是小写。

  66. acewee
    acewee March 21, 2019

    最近有个业务有大量的请求第三方接口,然后想起curl可以并行请求,网上看了一些例子及使用的问题,例子少,而且说可能会导致cpu负载,自己不清楚它底层怎么实现得,不敢用,问下鸟哥curl值不值得用。

    • acewee
      acewee March 21, 2019

      最后面是问curl的并行值不值用

  67. singo
    singo March 14, 2019

    yar 在2.0.5版本里无法使用
    我调用老版本的php5.6的正常
    新安装了php7.3版本之后,一直报这个错误
    Uncaught Yar_Client_Transport_Exception: server responsed non-200 code ‘400’
    我用yar_debug.php调试又是可以的,Yar_Client这个是不是有些问题
    yar_debug.php调试可以上传到服务器,但是参数丢了,这个调试程序是不是也有问题?
    yar2.0.5,返回时,hostname变成了Hostname: \x01\,实际上应该还是Hostname: 10.188.0.154
    这个在yar1.2.5里是正确的

    • gojianbo
      gojianbo March 25, 2019

      我是win10 x64 apache 2.4.37 PHP 7.3也出现这个错误 , PHP 7.2可以 ,你的问题解决了吗?

  68. Freelance
    Freelance March 11, 2019

    鸟哥,PHP中文手册,关于Closure为何一直没有更新呢?新增的方法一直没有,至于其他是否还有缺,未查。

  69. Lee Chan
    Lee Chan March 9, 2019

    可以模仿你博客的ui吗

  70. E语云博客
    E语云博客 March 8, 2019

    刚开始学习php,前来膜拜大佬~学成后必来回踩

  71. adang
    adang March 6, 2019

    1.php curl 能实现像redis一样的长连接 么
    2.php get post 有没有好用长连接库

  72. Nervebing
    Nervebing March 6, 2019

    关注鸟哥很久了,鸟哥下次啥时候来上海呀

  73. 爱开源
    爱开源 March 5, 2019

    博客速度变快很多!!!
    是不是有什么黑科技? 求鸟哥分享.

  74. star
    star March 4, 2019

    ini_set(‘session.cookie_httponly’, ‘on’);
    session_start();
    setcookie(‘mycookie’, ‘hello world’);
    为什么在控制台通过document.cookie 还是能获取cookie的值?

  75. star
    star March 4, 2019

    为什么在控制台通过document.cookie 还是能获取cookie的值?

  76. zhang
    zhang March 1, 2019

    前来膜拜

  77. peng
    peng March 1, 2019

    沾沾喜气

    • 小夏阿姨
      小夏阿姨 April 23, 2019

      php 文档中是写着有 7个
      其中有一个 preResponse 我是没触发过

  78. ming
    ming February 25, 2019

    都是哈希??

  79. lee
    lee February 14, 2019

    请问 刚学php C扩展,只会简单的hello world例子,源码看不太懂,有什么好的学习的方法吗

  80. 222
    222 February 11, 2019

    123

  81. cj
    cj February 11, 2019

    alert(‘very nb’)

  82. zhang
    zhang January 31, 2019

    膜拜大神,留名

  83. coolbreeze
    coolbreeze January 28, 2019

    大佬我问下 php中的IMAP邮件扩展中 imap_search方法传入的类型 不支持草稿状态(Draft) 已发送状态(sentmail)么?找了找文档都没有这两种类型 求解答!!!

  84. vimtutor
    vimtutor January 26, 2019

    大佬博客换样式啦,这个样式年轻多了。感谢大佬提供这么多高质量的php文章

  85. CVS Near Me
    CVS Near Me January 3, 2019

    Thank you for adding Good content here..
    I liked your information..

  86. 0x00
    0x00 January 3, 2019

    终于换前端了

  87. jack
    jack December 27, 2018

    /home/zrj/Downloads/soft/yaf-3.0.7/yaf_session.c: In function ‘yaf_session_instance’:
    /home/zrj/Downloads/soft/yaf-3.0.7/yaf_session.c:97:31: error: ‘ZEND_WRONG_PROPERTY_OFFSET’ undeclared (first use in this function); did you mean ‘IS_WRONG_PROPERTY_OFFSET’?
    if (property_info->offset != ZEND_WRONG_PROPERTY_OFFSET) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
    IS_WRONG_PROPERTY_OFFSET
    /home/zrj/Downloads/soft/yaf-3.0.7/yaf_session.c:97:31: note: each undeclared identifier is reported only once for each function it appears in
    Makefile:253: recipe for target ‘yaf_session.lo’ failed
    make: *** [yaf_session.lo] Error 1

  88. wangdeyi
    wangdeyi December 14, 2018

    PHP7.3安装yaf-3.0.7报错:
    /root/yaf-3.0.7/yaf_session.c: In function ‘yaf_session_instance’:
    /root/yaf-3.0.7/yaf_session.c:97:31: error: ‘ZEND_WRONG_PROPERTY_OFFSET’ undeclared (first use in this function)
    if (property_info->offset != ZEND_WRONG_PROPERTY_OFFSET) {
    ^
    /root/yaf-3.0.7/yaf_session.c:97:31: note: each undeclared identifier is reported only once for each function it appears in
    make: *** [yaf_session.lo] Error 1

  89. 金江
    金江 December 13, 2018

    鸟哥, 我想问个问题: php适合做微服务吗?具体怎么做呢?和java比较呢?

  90. Scarecrow
    Scarecrow December 4, 2018

    鸟哥你好:
    请问PHP7内核中怎么获取类常量:
    声明:
    zend_declare_class_constant_double(ptr,”love”,4,999.0);
    获取 :
    double t;
    zval *p;
    zend_string *a;
    zend_class_entry *ptr;
    ptr = Z_OBJCE_P(getThis());
    a=zend_string_init(“love”, 4, 0);
    p = zend_get_constant_ex(a, ptr,getThis()->u2.access_flags);
    t = Z_DVAL_P(p);
    php_printf(“Test:%f”,t);
    这时候p始终返回NULL,拿不到?这是为什么呢?或者是我的方法用错了?

  91. lee
    lee December 1, 2018

    鸟哥你好,我压测你的网站失败了,我想问问你的这个网站在安全方面都是做那些呢?

  92. baimengke
    baimengke November 15, 2018

    鸟哥,问您一个问题,最近和同事讨论遇到的,WholeResponseRating::instance()->getRating($landlordResponse)这样写能通过,
    (WholeResponseRating::instance())->getRating($landlordResponse)这么写就会报错
    说是语法错误吧但是(new class)->method()这样写就没问题,您能解释解释吗

  93. dennlian
    dennlian November 7, 2018

    php 7.2 windows版本加载yaconf报错

  94. miracle7
    miracle7 November 5, 2018

    您好,我想问下怎么在自己写的扩展中调用openssl_encrypt和openssl_decrypt进行加密解密处理,想再次封装下openssl_encrypt

  95. 李
    October 23, 2018

    [2018-10-23 11:23:54 *2366.2] ERROR zm_deactivate_swoole (ERROR 503): Fatal error: Uncaught Yaf_Exception_StartupError: Only one application can be initialized in /Users/dxm/PhpstormProjects/yaf/server/http_server.php:42
    Stack trace:
    #0 /Users/dxm/PhpstormProjects/yaf/server/http_server.php(42): Yaf_Application->__construct(‘/Users/dxm/Phps…’)
    #1 {main}
    thrown in /Users/dxm/PhpstormProjects/yaf/server/http_server.php on line 42.
    [2018-10-23 11:23:54 $2363.0] WARNING swManager_check_exit_status: worker#2 abnormal exit, status=255, signal=0
    使用swoole框架的swoole_http_server与yaf结合的时候会出现这个错误
    $http->on(‘WorkerStart’,function($server,$worker_id){
    define(‘APPLICATION_PATH’, dirname(dirname(__FILE__)));
    include APPLICATION_PATH.”/vendor/autoload.php”;
    });
    $http->on(‘request’,function($request,$response) use ($http){
    echo “jsdjfjsd”;
    if(isset($request->server)){
    foreach($request->server as $k=>$v){
    $_SERVER[strtoupper($k)]=$v;
    }
    }
    if(isset($request->header)){
    foreach($request->header as $k=>$v){
    $_SERVER[strtoupper($k)]=$v;
    }
    }
    if(isset($request->get)){
    foreach($request->get as $k=>$v){
    $_GET[$k]=$v;
    }
    }
    if(isset($request->post)){
    foreach($request->post as $k=>$v){
    $_POST[$k]=$v;
    }
    }
    ob_start();
    $application=new Yaf_Application(APPLICATION_PATH.’/conf/application.ini’);
    $application->bootstrap()->run();
    $application=null;
    var_dump($application);
    echo “123”;
    $res=ob_get_contents();
    ob_end_clean();
    $response->end($res);
    // $http->close($request->fd);
    });
    这是swoole_http_sever中的配置

  96. Kenneth Gao
    Kenneth Gao October 20, 2018

    鸟哥,你好!
    请问:
    set_time_limit(30);
    ini_set(‘max_execution_time’, 30);
    这两者的区别是什么?

  97. 罗少成
    罗少成 October 19, 2018

    鸟哥你好,最近在开发的时候遇到了一个问题.就是说团队在使用数组的key需要是字符串的数字,因为项目的历史遗留问题.在下次迭代会解决这个问题.但是好奇的是,为什么php最后一定要把能转为int的key给转化了?
    真诚请教

  98. Lee Hao
    Lee Hao October 17, 2018

    yaf自动加载和smarty的类名冲突 使用yaf集成smarty的时候,在smarty的某个类中需要加载Smarty_Template_Compiled类,这是yaf的Loader就会自动解析加载路径为/application/library/Smarty/Template/Compiled.php,但我的类实际路径是/application/library/Smarty/sysplugins/Smarty_Template_Compiled.php 我该怎么做才能避免呀?

    • 李浩
      李浩 October 17, 2018

      问题解决,在入口文件index.php的
      $application = new Yaf\Application( APPLICATION_PATH . “/conf/application.ini”);
      之前使用
      include APPLICATION_PATH.’/vendor/autoload.php’;
      这样就避免了使用框架的Loder机制加载文件

  99. haier_brother
    haier_brother October 12, 2018

    alert(‘xss’)

  100. tony
    tony October 2, 2018

    终于换了个主题,比之前的好看多了!

  101. 付家乐
    付家乐 September 25, 2018

    鸟哥我模仿了您的博客,您不会生气吧?

  102. xrj
    xrj September 19, 2018

    希望鸟哥能坚持搞yar这rpc 感激不尽!!

  103. owenliang
    owenliang September 11, 2018

    鸟哥这是更新博客主题了啊

  104. hz
    hz September 6, 2018

    请问php7性能和java比怎么样?下一个版本计划是否依然以提升性能为核心呢?还有有朝一日php可以开发c/s客户端吗?

  105. Bill
    Bill September 6, 2018

    jit 现在的进展情况是怎样的?了解一下.

  106. Ruizhao
    Ruizhao September 3, 2018

    你好鸟哥,请问下目前PHP在微服务这一块上有什么实践吗

  107. 光年之外
    光年之外 August 30, 2018

    风哥, PHP new class 不赋值与 new class 赋值,在内存上有什么区别?
    new class 不赋值是创建了内存空间,由于未有地址指向任何变量,gc 回收了,还是 new class 不赋值根本没有创建内存空间。
    测试:想到用 memory_get_usage 测试,由于这个函数只支持由 emalloc 分配的变量, 测试未能成功
    提问:在 php 相关网站与群提问也没人回答或给出合适的答案
    风哥,能帮助指点下吗?

  108. Situs QQ Online
    Situs QQ Online August 12, 2018

    a blog that is very helpful for us to make something the web we want to achieve, thank you for creating this blog so readers can know how.

    • bettare
      bettare August 27, 2018

      you are welcome

  109. Evens
    Evens August 10, 2018

    并不是Bug , 而是array_search() 时并没有指定类型(php本身也不需要定义类型,但是类型是存在的)
    当数组中第一个元素是0时 ,被对比的参数也会被转换成数值。
    可以参考 array_search 第三个参数 http://php.net/manual/zh/function.array-search.php

  110. 孟羽
    孟羽 August 10, 2018

    Yaf 的手冊爲什麽無法訪問了?

  111. 宇堃
    宇堃 August 1, 2018

    您好鸟哥,前端时间有看过您对php变量的深入介绍,有一个基本的概念。
    今天发现一个奇怪的现象,是和变量引用有关。
    代码如下:
    $parameters = [[[“id=470”]]];
    $test = &$conditions[0];
    $model = Model::findFirst($parameters);
    去掉第二行引用赋值的代码,一切正常,加上之后就不对了。我试过用===等方式比较$parameters有没有变化,都没有发现问题,想知道,在引用赋值之后数组到底发生了怎样的变化。
    注: 这里用的是phalcon框架,一个简单的模型查询。

  112. lio
    lio July 17, 2018

    PHP 的掌舵人是谁呀?
    突然发现, php,世界上最好的编程语言, 没怎么听到过创始人是谁,查了下资料, php7 跟三个创始人都没啥关系? php 现在是怎么个进化方式呢?

  113. shenhy
    shenhy July 10, 2018

    鸟哥,你好,咨询个问题。
    php的输出函数,echo,print还是其他,输出5.00这样的数会省略掉后面的0,直接输出整数5,若要强制输出5.00,则使用number_format格式化后就可以输出,但输出的是字符串类型的”5.00″(使用gettype查看的),有什么方式可以直接输出5.00,并且为浮点数。

    • veike
      veike August 12, 2018

      printf(“%.2f”,5.00);

    • May丶泡泡
      May丶泡泡 August 16, 2018

      /**
      * 格式金额###
      * @param $price
      * @return string
      */
      function price_format($price,$len=2)
      {
      $str = “%.”.$len.”f”;
      return sprintf($str, $price);
      }

  114. 木来
    木来 June 27, 2018

    您好,过来看一下您的网站。
    我的网站是诚意印象个人博客。

  115. yonbinblue
    yonbinblue June 15, 2018

    鸟哥你好,我最近遇到一个问题:php的copy函数复制一个4.41GB的视频文件(mp4)的时候,函数执行完成的时候,文件只有422MB。请问这个是什么原因?php版本是5.6.27

  116. weimiyu
    weimiyu June 8, 2018

    define(“APP_PATH”, realpath(dirname(__FILE__) . ‘/../’)); /* 指向public的上一级 */
    $app = new Yaf\Application(APP_PATH . “/config/application.ini”);
    上述new的时候会发生502错误,
    查看了错误日志写的是:
    2018/06/08 16:20:30 [error] 9489#0: *235 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.33.1, server: local.yaf.cn, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “local.yaf.cn”
    但是已经将
    php-fpm.conf里的配置改成了
    pm = dynamic
    pm.max_children = 60
    pm.start_servers = 30
    pm.min_spare_servers = 30
    pm.max_spare_servers = 60
    request_terminate_timeout = 100
    request_slowlog_timeout = 0
    slowlog = var/log/slow.log
    我觉得最大子进程已经开到很大了,同样的环境下跑lumen和laravel可以正常访问,但就是yaf在这个centos虚拟机里出现了502这个问题,诚心请教在centos的虚拟机里面为什么会出现这个502问题

  117. ethan
    ethan June 7, 2018

    鸟哥,能不能写一些有关 Domain-Driver-Design in php的讲解,PHP在代码结构设计这块的书籍是在是比较少,现在阅读java的DDD,看起来没有php那么直观,也会导致理解会有偏差!!

  118. 牟志强
    牟志强 May 21, 2018

    <?php
    一个php bug?
    echo strtotime('1990-05-24 00:00:00')."”;
    echo strtotime(‘1990-05-24’).””;
    $date = DateTime::createFromFormat(‘Y-m-d H:i:s’, ‘1990-05-24 00:00:00’);
    echo $date->getTimestamp();
    //以上输出结果都是 643474800
    而使用在线工具计算出来的是643478400
    ?>

  119. demo
    demo May 20, 2018

    alert(123123)

  120. enoch
    enoch May 20, 2018

    鸟哥,php.net那个邮箱,发不了吗。试着发了两封都给退回来了

  121. randal
    randal May 16, 2018

    @lonely 感谢回答 emmm 那有什么办法可以避免么? 自己写foreach么?用全等?

  122. Braxtonpugh
    Braxtonpugh May 14, 2018

    Hello guys,
    It covers the institutions of law creation and application, law in American government, American legal culture and the legal profession, American criminal and civil justice, and civil rights. Clearly written, the book has been widely used in both undergraduate and graduate courses as an introduction to the legal system.
    https://goo.gl/p5iRnA

  123. ThomasUnupe
    ThomasUnupe May 13, 2018

    По мнению ученых, грибок стопы — это одно из наиболее распространённых болезней. Препарат Экзолоцин, экзолоцин входит в список лучших средств, что излечивают от него и сопутствующих проблем за несколько недель. Неприятные симптомы, отшелушивание кожи пропадут очень скоро и безопасным образом, не оставив каких-то следов. Крем Экзолоцин оптимально блокирует воздействие вредоносных бактерий, действует максимально быстро и используется в качестве профилактики. Мазь от грибка может быть нанесен даже сверху косметического препарата, и он всё равно будет проявлять своё целебную силу. А еще препарат Экзолоцин обладает реальным сертификат.
    В структуру мази входит 35 компонентов, в чем вы можете прочитать в сопровождающих документах. Из-за приоритетного природного строения крем Экзолоцин без побочных эффектов, а противопоказанием к употреблению является только персональная непереносимость компонентов средства.
    Крем от грибка может вылечить большинство проблем за 1-2 упаковки. Если у вас замечается шелушение; зуд; появление корост; хрупкие желтого оттенка ногти на ногах; повышенная потливость ног; неприятный аромат – один или множество таких симптомов – то обязательно обратитесь к врачу, чтобы сделать анализы и обрести рекомендации к лечению. Вещества, которые находятся в креме, сразу же обеспечивают исцеление. Они активно уничтожают грибы за считанные часы, при том способствуют восстановлению дермы и устранению различных негативных последствий: неприятного амбре, потливости и остальных. Всего через несколько недель вы освободитесь от всего списка грибковых проблем. Восстановится иммунитет, и повторное заражение микроорганизмами будет маловероятным.

  124. ThomasUnupe
    ThomasUnupe May 13, 2018

    По статистике, грибок стопы — это одно из самых распространённых заболеваний. Препарат Экзолоцин, гель exolocin экзолоцин включен в ряд лучших средств, которые избавляют от него и возможных последствий за короткий промежуток времени. Нежелательные симптомы, зуд проходят очень скоро и безопасным образом, не оставляя каких-нибудь следов. Крем Экзолоцин оптимально блокирует активность вредоносных бактерий, действует по максимуму быстро и используется в качестве профилактики. Крем от грибка можно наносить даже сверху косметического лака, и он по прежнему будет оказывать своё лечебное воздействие. А еще препарат Экзолоцин обладает реальным сертификат.
    В структуру Экзолоцина входит 35 составляющих, в чем вы можете прочитать в сопровождающих документах. Из-за исключительно природного состава крем Экзолоцин не имеет побочки, а противопоказанием к использованию является только индивидуальная непереносимость компонентов средства.
    Крем от грибка избавляет от большинства проблем за 1-2 упаковки. Если у вас замечается шелушение; раздражение кожи; образование корост; хрупкие желтого оттенка ногтевые пластины; избыточная потливость ног; неприятный амбре – один или несколько данных симптомов – то обязательно обратитесь к докторам, чтобы сдать анализы и обрести рекомендации к лечению. Компоненты, которые находятся в креме, сразу же начинают свою работу. Они самым активным образом уничтожают грибок за считанные дни, при этом способствуют обновлению дермы и устранению различных негативных последствий: неприятного запаха, пота и остальных. Всего через непродолжительное время вы станете свободны от всего спектра грибковых проблем. Усилится иммунитет, и повторное заражение микроорганизмами будет маловероятным.

  125. lonely
    lonely May 10, 2018

    @randal
    导致你这问题是因为php会将根据数组元素将 is_del 转成对应数据类型在进行对比 is_del 转成整形为0 所以存在 某种程度上来说这算是弱类型语言的一个坑.
    $arr = [0, ’22’, ‘test’, 33, ‘dsa’];
    var_dump(in_array(‘is_del’, $arr));

  126. lonely
    lonely May 10, 2018

    为什么YAF在windows下同时只能处理一个请求
    如下代码:环境PHP7.2默认配置
    $application = new Yaf_Application([“application”=>array(
    “directory”=>”/application”,
    )]);
    if(@$_GET[‘a’])sleep(5);
    echo “adsfa”;
    打开两浏览器,一个访问?a=1 另个不带参数
    两个请求都被阻塞了…

  127. randal
    randal May 9, 2018

    还是我
    上面的留言补充下
    刚突发奇想试了下
    in_array这个函数也是一样的问题
    $arr = [0, ’22’, ‘test’, 33, ‘dsa’];
    var_dump(in_array(‘is_del’, $arr));
    /code/local/test.php:154:boolean true
    这是个bug还是array函数设计本身就是这样的啊’
    [狂吐血]

  128. randal
    randal May 9, 2018

    鸟哥
    问个问题
    array_search这个函数

    $arr = [‘0’, ‘ds12’, ‘is_del’, ‘dsadas’, ’12’, ’12’, ’22’];
    var_dump(array_search(‘is_del’, $arr));
    返回
    /code/local/test.php:154:int 2
    但是

    $arr = [0, ‘ds12’, ‘is_del’, ‘dsadas’, 12, ’12’, ’22’];
    /code/local/test.php:154:int 0
    然后 如果0不在数组里面的时候
    $arr = [‘ds12’, ‘is_del’, ‘dsadas’, 12, ’12’, ’22’];
    /code/local/test.php:154:int 1
    或者0值为字符串的时候
    $arr = [‘0’, ‘ds12’, ‘is_del’, ‘dsadas’, 12, ’12’, ’22’];
    /code/local/test.php:154:int 2
    这个问题是bug还是array_search本身就是这么设计的啊- –
    今天写业务的时候突然发现array_search_不起作用- –

  129. Justinbiz
    Justinbiz April 13, 2018

    Hi!
    You can get $ 16 on your PayPal right now. Nothing complicated.
    Just look at the money you have in a minute.
    This is a new offer from Bitcoin =) This page

  130. lianglikang
    lianglikang April 2, 2018

    鸟哥,我在本地系统开发了两个项目一个是前端api的项目,域名是api.cn,另一个项目是缓存系统cache.cn主要是对api返回redis数据的,但是我在api.cn无法通过http请求到cache.cn对应的modules层下的控制器,我通过日志发现每次请求到cache.cn的入口文件index.php都会自动请求结束.不是curl的请求超时原因.日志能写到index.php的new Yaf_Application()前,但是到实例后就没日志文件了,所以我想是不是Yaf_Application类里是否有限制呢。两个项目都是简单路由的.

  131. 宁次君
    宁次君 April 1, 2018

    踩踩

  132. Akav
    Akav March 26, 2018

    鸟哥,你好。
    关于php session,最近fpm监控中遇到一个奇怪的现象,想在全面使用memcache之前先搞清楚。所以请教一下。
    我服务器上跑的是php7.1,每过几天,总会出现fpm进程数量升高的情况,检查发现,有一部分fpm进程的start time在24甚至很长时间以前,当前状态是sleep,在/proc/进程id/fd 里面,有一个指向php session缓存文件的软链。
    注:由于业务需要,我们设置的session过期时间为gc_maxlifetime是48小时。不知道有没有关系。
    谢谢鸟哥。

  133. Anonymous
    Anonymous March 16, 2018

    鸟哥 帮忙看一下PHP继承的问题
    class A {
    private function foo() {
    echo ‘a’;
    }
    public function test() {
    $this->foo();
    }
    }
    class B extends A {
    public function foo() {
    echo “b”;
    }
    }
    $b = new B();
    $b->test();
    输出a
    class A {
    protected function foo() {
    echo ‘a’;
    }
    public function test() {
    $this->foo();
    }
    }
    class B extends A {
    public function foo() {
    echo “b”;
    }
    }
    $b = new B();
    $b->test();
    输出b

  134. Alistamyan44
    Alistamyan44 February 25, 2018

    п»ї

  135. Monserhe14
    Monserhe14 February 5, 2018

    п»ї

  136. 子木
    子木 February 2, 2018

    鸟哥哥,我才接触laravel框架,学了一个星期,感觉好强大,文档上面介绍的又不是太清楚,能不能推荐本关于laravel框架的书

  137. WangKane
    WangKane December 26, 2017

    Hi Laruence,最近遇到一个问题,在使用eclipse 跑phpunit的时候,使用var_dump进行打印,但是打印出来的结果不是:
    “D:\xampp\htdocs\test\index.php:6:
    string(10) “2323232323””这样的,有部分人电脑是没问题,打印的结果是正常的数字,没有其他的嘛,首先这个不是中文乱码,,我不知道怎么解决

  138. xqkeji
    xqkeji December 14, 2017

    请问,PHP内核里,能定义trait吗?
    想在内核里定义trait,然后再到php环境下使用。

  139. IT乐园
    IT乐园 December 11, 2017

    鸟哥好久不更新博客啦

  140. chen
    chen November 21, 2017

    高薪招聘程序员:精通PHP/MYSQL/Nodejs,可在网上办公,招聘QQ7399479

  141. white li
    white li November 17, 2017

    Hi, 鸟哥,写了一个返回数组的PHP扩展,php version:5.5.22
    PHP_FUNCTION(test_array)
    {
    if (zend_parse_parameters_none() == FAILURE) {
    return;
    }
    char *s1 = “Hello “;
    char *s2 = “World! “;
    size_t t1;
    size_t t2;
    t1 = strlen(s1);
    t2 = strlen(s2);
    zval *new_array;
    MAKE_STD_ZVAL(new_array);
    array_init(new_array);
    add_index_stringl(new_array, 0, s1, t1, 0);
    add_index_stringl(new_array, 1, s2, t2, 0);
    RETURN_ZVAL(new_array, 0, 1);
    }
    编译执行后,运行代码:var_dump(test_array());
    输出:
    array(2) {
    [0]=>
    string(6) “Hello ”
    [1]=>
    string(7) “World! ”
    }
    段错误
    为什么会输出段错误呢?

  142. hedonghong
    hedonghong November 5, 2017

    鸟哥,我想了解下libevent,libev,eio,php进程信号处理等,网上资料好少,有没有推荐的,我该如何理解和学习这些呢?

  143. VladimerIdems
    VladimerIdems October 23, 2017

    variant3

  144. ChrisMig
    ChrisMig October 17, 2017

    test soft

  145. Zemmmyg
    Zemmmyg September 17, 2017

    Numerology names for date of birth July 14 birthday numerology Numerology number 2 date of birth April 17 birthday numerology Numerology birth date number 24 September 10 birthday numerology Birthday indian numerology Numerology 11 personality traits
    http://numerologyforbirthdate.gdn

  146. Ucan
    Ucan September 8, 2017

    提交一下bug,http://pecl.php.net/bugs/search.php?cmd=display&status=Open&package_name[]=yaf,鸟哥的yaf官方文档提交bug页面404了,发现yaf_response类存在bug,想详细反应下

  147. zhulei
    zhulei September 7, 2017

    Hi,鸟哥, 请教一个问题, opcache模块加载报错: “PHP Warning: Zend OPcache: opcache.huge_code_pages has no affect as huge page is not supported in Unknown on line 0” 详见截图 http://p2.qhimg.com/t01a48712070f59f8b1.jpg, 请问是什么原因呢? 我已经按常规的设置了sysctl 谢谢!

  148. ejzhang
    ejzhang August 29, 2017

    抱歉再打扰一下,我看PHP编译选项里有ICU支持
    dnl As long as intl is not shared we can have ICU support
    if test “$PHP_INTL” = “yes” && test “$PHP_INTL_SHARED” != “yes”; then
    other_flags=”$other_flags -DSQLITE_ENABLE_ICU=1″
    fi
    请问如何关闭PHP_INTL_SHARED?configure –help中没找到,谢谢!

  149. ejzhang
    ejzhang August 25, 2017

    鸟哥,抱歉打扰了!我想用PHP实现SQLite全文检索(FTS3/FTS4),但是不知道如何启用ICU分词器,请问PHP的默认SQLite扩展是否支持ICU分词器,如果支持如何启用?是否加载libsqliteicu.dll即可?我在网上找不到相关信息,麻烦了,谢谢!

  150. xinroom
    xinroom August 21, 2017

    你好,你也用360wzws啊。

  151. baron
    baron August 16, 2017

    鸟哥,最近我在学习phalcon这个框架,在学习的过程中,遇到一个关于自动加载的问题。phalcon带了自动加载方式,与此相对应的就是composer。我可能有些强迫症,觉得他们是否能够合二为一,或者说自动加载东西完全依赖于phalcon。您的技术视野比我高很多,请给我点启示,谢谢!

  152. rt
    rt August 8, 2017

    Ο Θεός μπορεί να αυξήσει την κρυπτογράφηση; opcode σύγχυση.Αυτό το πολύ ζήτηση χρειάζεται για μένα.

  153. fly
    fly August 6, 2017

    看了你的文章我更加相信php是最好的开发语言 没有之一 哈哈哈

  154. lucasho
    lucasho July 31, 2017

    鸟哥,你的邮件地址发不通邮件啊~~~有没有其它的

  155. le
    le July 23, 2017

    你好鸟哥,对于刚开始学习PHP的小白,请您给点建议。谢谢

  156. jackZer
    jackZer July 16, 2017

    Your information is kept in the strictest of confidence.
    Hobden, Steve Miller, Stephen A.
    You can read over ten million scientific documents on SpringerLink.
    kamagra100mgoraljelly.today

  157. itlong
    itlong July 11, 2017

    cli模式:
    现在让我们变更下我们的运行方式:
    例 9.3.
    $ php request.php “request_uir=/index/hello”
    这里有笔误吧?
    应是:$ php request.php “request_uri=/index/hello”

  158. Dryslwwek
    Dryslwwek July 4, 2017

    hhhhhhbbbxbxcv – google.com google.com – hjgjasdfkjwieururu

  159. Dautndwek
    Dautndwek July 2, 2017

    hahgsgdnna – google.com google.com – hywyywkkkkkkzzzzsssss

  160. 不负好时光
    不负好时光 June 23, 2017

    左手代码,右手撸

  161. Johnnieinjem
    Johnnieinjem June 19, 2017

    уголовно процессуальное право уголовно процессуальный закон
    вычисление интегралов онлайн с решением
    Delete this!
    Удали это!

  162. yinli
    yinli June 18, 2017

    大神,您好!请教一个问题,我在linux下,有两个yaf项目,配置了两个域名,可是在浏览器打开时,却都指向了第一个域名的yaf内容。而如果在第二项目中public的index 是html文件 就能正确输出,如果是index.php就指向了另外一个yaf项目的内容。求解?

  163. liux-q
    liux-q June 15, 2017

    鸟哥你好,最近在项目中升级了php7,在项目中用到了session_set_save_handler 将session存储方式改为memcache,但是session写不进去,不走write方法,同样的代码 放在php5.6中就可以写入memcache ,请问鸟哥能给指点一下吗。。

  164. ClaytonEneta
    ClaytonEneta May 31, 2017

    Can anyone assist me to with a minor query.
    Half a yr in the past, I was identified as having a candida fungus
    I want to look at several eating plan against Candida albicans.
    On the internet, a lot of information on this problem.
    But ideas often diverge. And I could not find the best selection for me personally.
    Possibly the forum members will would suggest a proven diet or simply a lot of quality recipes against candida?
    I’ll be extremely many thanks for almost any assist
    Thank you!

  165. php
    php May 28, 2017

    大神 能增加 opcode 的混淆加密吗。这个需求太多人需要啊

  166. Huairui Zhang
    Huairui Zhang May 16, 2017

    Bird elder brother hello, nice to meet you. I am a guy who is interested in PHP. Hope to be able to learn what you here.

  167. InstrgropS
    InstrgropS April 7, 2017

    Отрезные круги
    Шлифовальные ленты
    Буры
    Цепи пильные
    Патроны для дрелей
    Бурильные коронки
    Скобы для степлера
    Сверла
    Шлифовальные шкурки
    Принадлежности к станкам
    Пильные полотна
    Пики для отбойного молотка
    Отверточные насадки
    Пилки для лобзика

  168. Anonymous
    Anonymous March 28, 2017

    您好,我们是中软国际教育集团,想和您的博客进行广告投放合作,有意请联系: 贾斌 13552876791 QQ:491607950 邮箱:jiabin@chinasofti.com

  169. qazxtycuns
    qazxtycuns March 16, 2017

    十二之天2服务端墨湘外传服务龙ol服务端凡人修真服务端传奇服务端洛汗S服务端
    洪荒神话服务端弹弹堂服务端九阴真经服务端墨香服务端飞飞OL服务端密传服务端
    神将三国服务端QQ西游服务端英雄远征服务端传奇私服版本购买传奇SF专用登陆器
    红月私服一条龙决战私服一条龙战神姿态商业winlinux服务端石器时代私服一条龙
    倚天2私服一条龙破天一剑私服一条龙骑士私服一条龙盘龙新天上碑5转商业服务端
    蜀门最新207

  170. RafaelDodia
    RafaelDodia March 5, 2017

    Бильярд онлайн бесплатно, играй и получай удовольствие.
    Бильярд онлайн это потрясающая игра которая подойдет абсолютно всем независимо от возраста.

  171. 何兴祥
    何兴祥 February 27, 2017

    两个系统 要求 使用的部分数据表数据必须共享的,但他们各自有自己其他的数据表,怎么保证 共享的数据表数据的一致性呢?
    (整合成同一个数据库吗?若可以整合整一个数据库,有什么需要注意的地方?)

  172. Dannyneors
    Dannyneors February 15, 2017

    Существует такая услуга – добровольное медицинское обслуживание .
    Она предполагает, что пациент платит небольшую сумму за абонемент и ходит на прием целый год бесплатно.
    Однако соцопросы показали, что лишь 3% жителей Питера знают о такой услуге.
    По какой причине?
    Потому что клиникам намного выгодней сдирать с людей деньги за каждый визит.
    А если какой-нибудь сотрудник клиники попытается посоветовать добровольное медицинское обслуживание клиенту – это сулит ему увольнением.
    Эта информация уже вызвала кучу возмущений, после того как информацию об этом рассекретил один возмущенный врач.
    Его уволили “по собственному желанию”, после того, как он предложил ДМО своему пациенту.
    Самое ужасное, что официальные положения по ДМО находятся в открытом доступе, просто натыкались на эту информацию единицы.
    Как отстоять свои права?
    О правилах предоставления услуги и обязанностях частных клиник можно узнать, просто вбив в Яндекс фразу: “добровольное медицинское обслуживание”.
    И именно обслуживание, а не страхование.
    34j5c6h86

  173. TaxiUber
    TaxiUber February 13, 2017

    Все будет хорошо

  174. Memsnsy
    Memsnsy February 11, 2017

    Pharmacy Late Night Pharmacy Board Exam Pharmacy Kuwait Pharmacy Ca Forms Tch App Pkt Pdf Pharmacy Technician Certification Pharmacy Hours Cvs Pharmacy Uconn Academics Ce Pharmacy Ohio Renewal
    hi!

  175. Wetnevo
    Wetnevo February 11, 2017

    erection pills over the counter walgreens erection pills non-prescription erection pills melbourne erection drugs uk erection pills spam and stallion xl
    http://menshealthon.website

  176. Wetogjg
    Wetogjg February 11, 2017

    erection pills headache vimax erection pills erection pills at walgreens erection pills cape town erection pills side effects
    http://edtreatblog.site/

  177. 歪麦
    歪麦 February 11, 2017

    怎么需要代理才能访问呢~~

  178. Wettrnd
    Wettrnd February 11, 2017

    erection pills toronto erection pills reddit erection pills walgreens erection pills over the counter nz erection pills online india erection pills pakistan erection pills comparison erection pills perth
    http://edtreatment.online/

  179. Wetlmhw
    Wetlmhw February 11, 2017

    erection pills nhs erection pills glasgow erection pills headache erection pills comparison erection pills over the counter south africa
    http://mysiteinfo.top/

  180. Setrzip
    Setrzip February 11, 2017

    купить в москве дженерики виагра сиалис левитра дженерики купить купить дженерики недорого купить дешевые дженерики купить дженерики с доставкой дженерик екатеринбург купить
    http://stoyak.men

  181. Setafxa
    Setafxa February 11, 2017

    купить дженерик сиалис в санкт петербурге купить даклатасвир дженерик купить дженерик сиалис в петербурге дженерики левитры купить в москве купить в москве дженерики виагра сиалис левитра дженерик виагры купить Купить дженерики
    http://xn--e1afbarhdci1ae4c.xn--p1ai

  182. Dyaneve51z
    Dyaneve51z February 11, 2017

    http://maxi-driver.pl/samochod-swoj-miec
    Shopping for a used or new car can be a tough process if you do not know what you are carrying out. By educating yourself about vehicle purchasing prior to deciding to head to the dealer, you can make points less difficult for yourself. The following advice might help your following shopping trip be satisfying.
    Usually take a auto technician coupled when buying a brand new automobile. Car sellers are notorious for promoting lemons and you may not need to be their after that target. When you can not obtain a technician to think about automobiles along, at least ensure that you have him look at your closing selection before you purchase it.
    Know your limits. Before starting store shopping for your next car or vehicle, choose how much you can manage to pay out, and adhere to it. Don’t neglect to incorporate fascination with your estimations. You will definitely shell out all around 20 percent as a payment in advance too, so be ready.
    Just before going to a dealership, know which kind of automobile you need. Analysis each one of you options prior to shopping so you can determine what works best for your budget and household requirements. Seek information to find out just how much you must pay for the potential auto.
    Before signing any deal make time to read through every range, including the fine print. If there is nearly anything shown that you do not fully grasp, tend not to sign till you purchase an answer that you just recognize. Unsavory salesmen can use a binding agreement to put several charges that have been not reviewed.
    When you retain the preceding guidance in your mind next time which you go looking for a automobile, you will certainly be prone to obtain a good package. Investing in a vehicle does not have to be a headaches. Use the guidelines using this write-up and you could get the car you would like in a great selling price.

  183. НППВалок_Назар
    НППВалок_Назар February 9, 2017

    RE:?? | ???? НПП Валок рабочие валки клети дуо станов горячей прокатки гребные валы

  184. cjl
    cjl February 3, 2017

    你这个主题实在是好看,网上已经无法找到这个主题了,能分享一份给我吗?谢谢

  185. bolestr
    bolestr January 31, 2017

    I can’t to find your e-mail subscription link or e-newsletter service.

  186. Memigeo
    Memigeo January 28, 2017

    Pharmacy Technician Ce Pharmacy Practice Pharmacy Schools In Florida Pharmacy Ok Pharmacy Assistant Pharmacy Zagreb Pharmacy Benefit Manager Pharmacy Zejtun Pharmacy Intern
    hi!

  187. Weteciy
    Weteciy January 28, 2017

    japanese erection pills erection tablets manufacturers quickest erection pills zeus erection pills erection pills lloyds pharmacy erection pills clicks erection pills in singapore erection booster pills erection pills chemist
    http://menshealthon.website

  188. Wethoqv
    Wethoqv January 28, 2017

    erection pills clicks erection killing meds erection pills cape town jaguar erection pills erection pills green erection pills china
    http://edtreatblog.site/

  189. Wetgodr
    Wetgodr January 28, 2017

    best erection pills yahoo erection pills in kenya erection pills over the counter south africa erection pills in homeopathy erection pills otc erection pills pretoria erection performance pills erection pills in dubai
    http://edtreatment.online/

  190. Wetskvt
    Wetskvt January 28, 2017

    erection prolonging pills erection pills that actually work erection pills that work erection pills reddit erection pills in kenya erection pills pakistan erection enlargement pills erection problem pills erection pills prescription
    http://mysiteinfo.top/

  191. Memreuj
    Memreuj January 28, 2017

    Pharmacy Coupons Pharmacy Mn Pharmacy Dropout Pharmacy Jobs London Pharmacy Uk Pharmacy Hours Rite Aid Pharmacy Vials Pharmacy Cvs Pharmacy Npi
    hi!

  192. Wetozrb
    Wetozrb January 28, 2017

    Praziquantel Ireland Praziquantel For Cats Dosage Praziquantel In Humans Praziquantel Instructions Generic Praziquantel For Dogs Praziquantel Heartworm Zentozide Praziquantel 600 Mg Praziquantel Canada
    http://reviewmeds.site

  193. Setajpp
    Setajpp January 28, 2017

    купить в москве дженерики виагра сиалис левитра дженерики купить интернет дженерик купить аптека дженерики левитры купить в москве купить таблетки дженерик купить дженерики оптом дженерик екатеринбург купить
    http://stoyak.men

  194. Setgoxb
    Setgoxb January 28, 2017

    купить дженерики оптом виагра дженерики купить в москве купить дженерик виагра сиалис купить дженерик сиалис в санкт петербурге сиалис дженерики купить в аптеке дженерики виагры левитры и сиалиса купить
    http://xn--e1afbarhdci1ae4c.xn--p1ai

  195. Setfbid
    Setfbid January 28, 2017

    купить дженерик левитры дженерики купить интернет дженерики купить в спб купить дженерики с доставкой дженерики купить купить дженерик сиалис в москве дженерики купить рф дженерики левитры купить в москве купить дженерики виагра в санкт петербурге
    http://mysiteone.top/

  196. AngelaDor
    AngelaDor January 12, 2017

    Well…Seems it interesting

  197. Wetohvm
    Wetohvm January 1, 2017

    Praziquantel Msds Praziquantel For Dogs Dosage Praziquantel Injectable Praziquantel Alternatives Praziquantel Thailand Praziquantel Walmart Praziquantel Malaysia
    http://reviewmeds.site

  198. Setqkir
    Setqkir January 1, 2017

    купить даклатасвир дженерик купить дженерик силденафил купить дженерики с доставкой дженерик купить аптека сиалис дженерики купить в аптеке купить дженерики в петербурге
    http://stoyak.men

  199. Sethsui
    Sethsui January 1, 2017

    дженерик левитра купить в москве купить дженерики виагра сиалис левитра купить дженерики недорого в москве сиалис дженерики купить купить дженерики оптом купить дешевые дженерики купить дженерики недорого сиалис дженерики купить в аптеке
    http://xn--e1afbarhdci1ae4c.xn--p1ai

  200. Setiwcg
    Setiwcg December 31, 2016

    дженерик сиалис софт купить Купить дженерики дженерики купить рф дженерики купить в спб купить дженерики недорого в москве купить дженерик виагра сиалис дженерик екатеринбург купить купить дженерики виагра в санкт петербурге дженерик левитра купить в москве
    http://mysiteone.top/

  201. JamieDet
    JamieDet December 30, 2016

    XRumer 12 is the BEST

  202. 孤木
    孤木 December 25, 2016

    最近将服务器上的php升级到7.1之后发现session始终无法读取,而这个问题在7.0.8上不存在,修改了session.save_path和还是session_save_path,还有session_set_save_handler等都无法使用,项目后台无法登录。。不知道是7.1的问题还是啥..
    服务环境
    CentOS Linux release 7.3.1611 (Core)
    nginx/1.11.7
    mysql Ver 15.1 Distrib 10.1.19-MariaDB, for Linux (x86_64) using readline 5.1
    PHP 7.1.0 (cli) (built: Dec 22 2016 17:16:15) ( NTS )
    Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
    请鸟哥帮忙分析一下是啥原因

  203. Wetmihn
    Wetmihn December 25, 2016

    Praziquantel Koi Dosage Praziquantel In Humans Praziquantel Brand Name Praziquantel And Pyrantel Praziquantel Mexico
    http://reviewmeds.site

  204. Setgsod
    Setgsod December 25, 2016

    купить дженерик в санкт петербурге дженерик левитра купить в санкт петербурге купить дженерик сиалис в санкт петербурге дженерик левитра купить в москве где купить дженерик купить дешевые дженерики дженерик дапоксетин купить купить дженерики в петербурге
    http://stoyak.men

  205. Setdbao
    Setdbao December 25, 2016

    купить дженерики с доставкой Купить дженерики виагра дженерики купить в москве купить дешевые дженерики купить дженерики в петербурге купить дженерики виагра в санкт петербурге дженерик левитры купить в санкт петербурге дженерик виагры купить в аптеке
    http://xn--e1afbarhdci1ae4c.xn--p1ai

  206. joney lu
    joney lu December 23, 2016

    您好:
    有如下2段代码:
    A:
    date);
    B:
    date);
    A不报错,B报错,不存在的属性。感觉是var_dump($temp)的时候,调用了某个方法,给$temp对象添加了date属性。
    希望解惑。
    谢谢。

  207. 章健瑾
    章健瑾 December 22, 2016

    刚刚开始学PHP 求个路程指导

  208. rdlosnave
    rdlosnave December 15, 2016

    nq9272 viagra party hw9773wv2945ct9290 in5346tn5869

  209. 林龙
    林龙 December 14, 2016

    鸟哥,有没有什么监测类的软件,我想知道每个用户请求使用了我程序中的那些类函数,在什么时候销毁的等等,另外鸟哥,我工作三年多了,对php高并发方面还没有一个比较清晰的认识,想在这方面深入一下,鸟哥有什么好的书籍推荐给我,谢谢鸟哥

  210. sorci
    sorci December 13, 2016

    鸟哥你好,在调试yaf时,发现输出view模板时,访问一次会运行两次程序(不同进程),但是模板输出和echo只有一次,在打log和redis的monitor时会出现两次。如果Action结尾增加return false是运行一次,但是模板不会输出了。不清楚是设置问题,还是框架使用问题?环境是yaf 3.0.4,php7.0.13。盼复,谢谢。

  211. admin
    admin December 8, 2016

    鸟哥问一下如果想做php架构师都需要掌握哪些技能?有没有php架构师养成的一些介绍?

  212. AlexWong
    AlexWong November 26, 2016

    Обращение к администрации сайта, обратите внимание.
    Здравствуйте. На этой партнерке я зарабатываю от 7000$ в месяц на своем сайте: http://1milliondollars.xyz

  213. yudong wang
    yudong wang November 23, 2016

    但是官网上给出的例子写的是传递一个数组,而介绍的第二个参数标注的是一个string类型的

  214. yudong wang
    yudong wang November 23, 2016

    在php官网上介绍的php lua扩展中assgin函数,传数组的时候会报错Segmentation fault (core dumped)

  215. Anonymous
    Anonymous November 17, 2016

    虽然看不懂,但是很牛X.

  216. Anonymous
    Anonymous November 9, 2016

    yar的server是内网部署么?怎么防止被恶意请求server

  217. nnn
    nnn November 3, 2016

    请问在 swoole 里,怎么使用 yar 呢?

  218. Edwardzer
    Edwardzer November 1, 2016

    zi4727 Hello, high-mindedness location! As a result of you in behalf of your period! http://ciaphtadalaf.com mixing viagra cialis generic al7399tz5244hx6006

  219. AAGal-GamzAA
    AAGal-GamzAA October 31, 2016

    Посетите наши сайты. Welcome!
    舒仆亟ム€仂亳亟ム祇ム§ョ亞舒
    Thanks

  220. fanfan
    fanfan October 20, 2016

    来给鸟哥留个言,中国PHP第一人。

  221. Alan
    Alan October 10, 2016

    我想做你的经纪人,实现年收入1亿$+,产品型碰上技术型,火花….感兴趣、有时间请联系我邮箱。
    关注你3年多的人

  222. 个人博客网站
    个人博客网站 October 1, 2016

    大神的境界估计我是达不到了,努力学习 个人小博客www.49zm.com也来留言引关注了,呵呵。

  223. jby
    jby September 27, 2016

    鸟哥
    wnmp 为什么一次只能请求一个页面;
    就是a页面什么都不干就sleep 10秒
    b页面就echo 11;
    我先访问a页面再访问b就必须等a结束了才会开始;

  224. Hielamon
    Hielamon September 26, 2016

    鸟哥你好,我是一个php新手,因为项目的代码是C++写的,然后需求要编译成PHP的扩展。这几天看了看大致知道了怎么写PHP的扩展,不过我的代码是依赖另外一个C++ library :OpenCV的,不知道能不能在PHP扩展里面调用外部的dll呢,如果不信的话,岂不是要把外部库也编译进来,想想工作量就有点绝望。

  225. leo
    leo September 22, 2016

    鸟哥,发现一个yaf的问题。在Bootstrap类_init访问中调用该代码:Yaf_Application::app()->getConfig()。
    竟然报错Fatal error: Call to undefined method Bootstarp::getConfig()。
    该问题极少概率偶发,很难复现。报错时返回状态是200,非常奇怪。

  226. xilongtao
    xilongtao September 14, 2016

    鸟哥你好。
    我在用yaf,通过看文档和测试,对配置文件的yaf.use_spl_autoload的含义还是不是很清楚,你能告诉我下吗?把它设为0的时候,会忽略程序员通过spl_autoload_register注册的加载函数吗?我在windows上测试的2.3.5的,是不会忽略的。如果上面这个做用,那他的用处是什么,我没搞明白,你能告诉我吗?
    谢谢。
    祝工作顺利。

  227. konggu
    konggu August 15, 2016

    鸟哥,你好。yaf的文档是好久以前的了,适用于最新的版本么?
    我们公司计划适用yaf,但是担心遇到框架问题时解决不了,所以,能否加下你的联系方式,qq、微信或邮件,便于遇到问题时联系您。您放心,我们不会轻易叨扰您。我的qq邮箱是11771223@qq.com。
    谢谢

  228. json
    json August 8, 2016

    鸟哥,你好,我是一名php程序员,从研究所出来后从事php达4年多了,最近计划做一门yaf的课程,您是yaf高性能扩展的创始人,我很想跟你交流交流,能否告诉我您的qq或者微信的联系方式,我的QQ是476837464,期待您的回复

  229. monkey
    monkey August 5, 2016

    想要在php扩展中实现
    $b=&$a;
    的功能
    因为要把php转换成php扩展,遇到这样一个问题,通过函数传递引用,解决不了。
    能否提供一个思路,这种应该属于操作符,我水平低,想不出思路。

  230. Anonymous
    Anonymous August 5, 2016

    久闻您的大名,我也是一个PHP程序员,但是对于自己目前的水平不满足,但苦于找不到提高的好方法,您能指导下麽;
    您的YAF框架是如何设计出来的,YAF完全是C语言编写的,可见您的C语言功底是非常深厚,您的C语言如何学到这样出神入化的

  231. Aaron
    Aaron August 2, 2016

    发完帖子发现 php代码不能正常显示
    再发一次
    > 显示 姓杨 输出正常
    >显示 名? 输出异常

  232. Aaron
    Aaron August 2, 2016

    鸟哥你好,今天在处理项目问题的时候,无意中发现了一个bug,我不知道这个bug算是php的bug还是自己操作的问题,我把代码贴出来你看看就知道了。
    >会输出 姓杨
    >会输出 名? 这个会产生乱码问题,而且只有 攀 这个中文字符时候 才会有这样的情况。
    鸟哥 你看看是不是编码问题呢??

  233. swing07
    swing07 August 2, 2016

    关于isset函数的问题 下面的isset判断0返回了false 1 返回了true,这是一个从逻辑上很难理解的问题,我对isset的内部实现不了解,所以无法解释和理解此现象,可是我看到有人这么使用,这样的bug是极其难规避和查找的。
    view->$name = $value;
    return $this;
    }
    public function __set($name,$value) {
    $this->assign($name,$value);
    }
    /**
    * 取得模板显示变量的值
    * @access protected
    * @param string $name 模板显示变量
    * @return mixed
    */
    public function get($name=”) {
    return $this->view->$name;
    }
    public function __get($name) {
    return $this->get($name);
    }
    /**
    * 检测模板变量的值
    * @access public
    * @param string $name 名称
    * @return boolean
    */
    public function __isset($name) {
    return $this->get($name);
    }
    }
    $obj = new Test;
    $obj->a=0;
    var_dump(isset($obj->a)); // false
    $obj->a=1;
    var_dump(isset($obj->a)); // true
    die;

  234. Anonymous
    Anonymous July 26, 2016

    <?php
    $k = 0;
    $c = &$k;
    $b = ++$k + $k++;
    echo $b;
    鸟哥,请问这个的结果为什么是3?

  235. mcom
    mcom July 18, 2016

    鸟哥,如何在一个php扩展中实例化其他扩展中的类,比如,在我的自定义扩展myextension中使用pdo类?急盼您的回复!

  236. smismile
    smismile July 10, 2016

    这一次更新的yaf yac的源码包,我centos6.5 64位的编译一直报错
    git下来的最新版本也一样报错
    /root/yac/yac.c:514: 错误:‘zend_string’未声明(在此函数内第一次使用)
    /root/yac/yac.c:514: 错误:‘prefix’未声明(在此函数内第一次使用)
    /root/yac/yac.c: 在函数‘zim_yac_add’中:
    /root/yac/yac.c:538: 错误:‘uint32_t’未声明(在此函数内第一次使用)
    /root/yac/yac.c:538: 错误:expected ‘;’ before ‘ret’
    /root/yac/yac.c:573: 错误:提供给函数‘zend_read_property’的实参太多
    /root/yac/yac.c:576: 错误:‘ret’未声明(在此函数内第一次使用)
    /root/yac/yac.c:581: 错误:提供给函数‘zend_make_printable_zval’的实参太少
    老版本的2.3.5的yaf源码包没有问题,能帮忙看下什么问题吗

  237. 江一翰
    江一翰 July 7, 2016

    听完鸟哥在杭州华纳的php7.0,我就开始尝试了,过程中有个问题:
    php7.0 现在不直接提供 memcache 的扩展了, 是不是以后memcached会替换掉memcache

  238. Way cool! Some extremely vaalid points! I appreciate you writing this article and
    the rest of the site is also really good.

  239. dawei
    dawei June 23, 2016

    php7 编译 yaf
    报错
    /yaf-3.0.1/views/yaf_view_simple.c:110: 错误:‘zend_executor_globals’没有名为‘scope’的成员

  240. That is a really good tip especially to those new to the blogosphere.
    Simple but very precise information… Thank you for sharing this one.
    A must read post!

  241. Respect
    Respect June 16, 2016

    鸟哥你好,可以推荐一本php核心技术方面的书籍吗?

  242. 霡霂
    霡霂 June 15, 2016

    最近想写一个PHP的模板引擎,在使用正则的时候遇到点困惑:多重嵌套的HTML标签怎么用正则匹配。是不是PHP正则不能使用平衡组。而使用递归模式好像不太试用。希望能得到一些指点。

  243. 蒋建军
    蒋建军 June 7, 2016

    你好,我们用fpm搭建服务器,但想使用线程pthread,文档里说要开启ZTS,我就重新编译一下,配置-启动后没有看到pthread。
    麻烦指点一下,谢谢!

  244. 李俊霖
    李俊霖 June 6, 2016

    请问下鸟哥
    stream_socket_server函数很方便,请教下这个函数创建的socket的backlog默认是多少?

  245. Thanks for your personal marvelous posting!
    I actually enjoyed reading it, you may be a great author.
    I will ensure that I bookmark your blog and may come back very soon. I want to encourage continue your great posts, have a nice weekend!

  246. dong
    dong June 4, 2016

    鸟哥,请教一下,您是如何看swoole的,作为一个phper,对swoole很感兴趣。但又不知道php是否适合AppServer方式的运行。所以想听听您的见解。

  247. yet
    yet May 24, 2016

    我想问下,php的lua扩展现windows上怎么用

  248. slayer.hover
    slayer.hover May 12, 2016

    yaf3.0.2版本下的Yaf_Route_Rewrite的assemble()方法我又测试一下,发现如果匹配表达式是”/:c/:a/*”的话, assemble()的第一个参数数组必须包含三个元素,否则就会报错。就是下面这段代码:
    /***————————————–***/
    $router = new Yaf_Router();
    $route = new Yaf_Route_Rewrite(
    “/:c/:a/*”,
    array(),
    array()
    );
    $router->addRoute(“rewrite”, $route);
    var_dump($router->getRoute(‘rewrite’)->assemble(
    array(
    ‘:name’ => ‘foo’,
    ‘:id’ => ‘bar’,
    ),
    array(
    ‘key’ => ‘val’,
    )
    )
    );
    /***————————————–***/
    如果匹配表达式是”/:c/:a/”,就正常了。这个匹配表达式中的”*”不应该是匹配可有可无的字符吗?

  249. slayer.hover
    slayer.hover May 11, 2016

    鸟哥好,新版本(yaf3.0.2)的Yaf_Route_Rewrite的assemble()方法在php7下好像有点儿问题,总是显示500错误.在老的版本里是正常的。
    我试了PHP手册http://php.net/manual/en/yaf-route-rewrite.assemble.php 里的这段代码,也是提示500.不知道什么原因,请指示。
    $router = new Yaf_Router();
    $route = new Yaf_Route_Rewrite(
    “/product/:name/:id/*”,
    array(‘controller’ => “product”,),
    array()
    );
    $router->addRoute(“rewrite”, $route);
    var_dump($router->getRoute(‘rewrite’)->assemble(
    array(
    ‘:name’ => ‘foo’,
    ‘:id’ => ‘bar’,
    ‘:tmpkey1’ => ‘tmpval1’
    ),
    array(
    ‘tkey1’ => ‘tval1’,
    ‘tkey2’ => ‘tval2’
    )
    )
    );

  250. Maybe
    Maybe April 27, 2016

    我在APP开发的时候,手机端数据压缩上传,PHP服务器端采用POST接收json数据的时候,发现大于300KB之后,导致数据丢失,是什么原因呢,采用什么方式解决会比较好呢

  251. plding
    plding April 20, 2016

    鸟哥您好,请问怎么在github上向php提交PR?
    我按照readme的说法,先提交了一个bug,https://bugs.php.net/bug.php?id=72062,然后提交了一个修复这个bug的PR,https://github.com/php/php-src/pull/1875,结果显示The Travis CI build failed。我看了下错误报告,应该是某些单元测试没有通过,不过这些单元测试应该和我的commit没有关系。请问我的操作有什么不正确的地方吗?谢谢指点。

  252. yaf不怎的
    yaf不怎的 March 27, 2016

    yaf不怎的

  253. Olivia·Anna
    Olivia·Anna March 24, 2016

    博主您好,我有些疑问想请您帮忙抽空解答一下,谢谢。
    首先呢,我是一名只有初中学历的程序员,我为此感到疑惑的是,数学到底在编程这方面起到的作用是什么?
    数学不好是不是就已经限制了程序的高度?还是说,其实也不会限制,只是在学习程序(初级程序到大神级别)的过程会受到阻碍?
    就比如说您吧,是PHP开发组的核心成员,有开发了一些PHP方面的框架,如果说我数学不好,就算我在怎么努力学也无法做到您这样。
    其实我一直在考虑,要不要学习数学,毕竟在工作中也有很多技术上的东西也需要学,人的精力跟时间毕竟有限。
    希望您帮忙解答一下,谢谢。

  254. andyChan
    andyChan March 24, 2016

    鸟哥好,今天在使用yaf的时候,发现手册有个问题
    地址:http://www.laruence.com/manual/tutorial.firstpage.html#tutorial.rewrite
    例 3.4. Nginx的Rewrite (nginx.conf),其中一行
    rewrite ^/(.*) /index.php/$1 last;
    个人觉得正确的应该是下面这句
    rewrite ^/(.*) /index.php?$1 last;
    鸟哥指点下

  255. ajdxz
    ajdxz March 22, 2016

    鸟哥好,最近遇到一个问题
    用thrift 中操作 HIVE时,数据字段是INT 类型。但也可能是空。
    thrift TBinaryProtocol 中使用 pack 方式进行二进制转换。
    然后就悲剧了。
    echo base64_encode(pack(‘N’, null )) ; //输出 AAAAAA==
    echo base64_encode(pack(‘N’, 0 )) ; //输出 AAAAAA==
    echo base64_encode(pack(‘N’, ” )) ; //输出 AAAAAA==
    print_r(unpack(‘N’, base64_decode(‘AAAAAA==’)));
    /* 输出
    Array (
    [1] => 0
    )
    */
    无法分辨实际数据。

  256. 长空一剑
    长空一剑 March 17, 2016

    求博主推荐几本好书,本人初级PHP水平,欲往中、高级方向发展。谢谢!

  257. Kirigelv
    Kirigelv March 17, 2016

    General Considerations Coarctation of the aorta consists of localized narrowing of the aortic arch just distal to the origin of the left subclavian artery.

  258. Abel
    Abel March 15, 2016

    鸟哥好,遇到一个问题,解决方案是有,但是没搞懂为什么会这样,这是php数组的一个BUG吗?
    下面这段代码
    $params = [
    ‘price’ => 9.80 * 100
    ];
    $price = 980;
    var_dump($price, $params[‘price’], $params[‘price’] == $price);
    var_dump(980, 980.0, 980.0 == 980);
    由于不能贴图,我复制一下xdebug打印的结果:
    int 980
    float 980
    boolean false
    int 980
    float 980
    boolean true

  259. xiaochuan
    xiaochuan March 9, 2016

    现在感觉自己搞php不知道怎么去深入的学习了。求指导。

  260. phper
    phper March 7, 2016

    求大神加我qq:1269737227
    希望可以一起探讨问题

  261. peter
    peter March 4, 2016

    不好意思,刚才提问else后面的代码漏了。
    //$len 已获取的图片字节长度
    //$realLen 报文头部content-length字段值
    else
    {
    $tempLen = $realLength – $len;
    $tempLen = $tempLen fsocket, $tempLen);


  262. peter
    peter March 4, 2016

    鸟哥,你好,我这里有个问题想要请问下~
    脚本功能是将远程图片保存到本地。
    如下面的代码针对同一张图片,128可以采集,128改为555就没法采集,会取不到最后一个字节,while循环就一直进行,造成死循环状态。或者针对不同的图片,128可以采集,换其他图片也没法采集,也是取不到最后的一个字节。这个问题困扰我一天了,百度谷歌都没找到解决方法。
    求鸟哥帮忙解答哈!!!~~~
    //$len 已获取的图片字节长度
    //$realLen 报文头部content-length字段值
    while(!feof($this->fsocket) && $len < $realLen)
    {
    if($len == 0)
    {
    $tempLen = 1024;
    }
    else
    {
    $tempLen = $realLen – $len;
    $tempLen = $tempLen fsocket, $tempLen);
    ….
    ….
    ….

  263. xinghai
    xinghai February 1, 2016

    我在检查dio_open函数式官网(http://php.net/manual/zh/function.dio-open.php)说它支持的版本是(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7),可是我下载了PHP7.0.2(我下的是windows,x64 T)之后发现dio扩展根本没有加载进来,dio_open函数也无法使用。于是我回到了PECL上面去找对应的PECL的php_dio.dll发现只有自PHP删除该捆版版本起~5.6的并没有支持PHP7。PHP作为一个全能编程语言无法操作串口真的是个大问题,官网说好的PHP7支持DIO的,希望宸哥关注一下,我们继续支持对COM口的读写,以便欧文迁移项目至PHP7

  264. Gromm
    Gromm January 26, 2016

    rand()函数真是个bug般的存在啊,如下代码,4096次后生成的随机字符串都是一样的,改用mt_rand就没问题,求解惑
    public function test()
    {
    set_time_limit(0);
    $arr = array(‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘0’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’);
    $arr1 = array();
    $arr2 = array();
    $arr3 = array();
    $i = 0;
    while($i<10000)
    {
    $str = '';
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $str .= $arr[rand(0,61)];
    $i++;
    if($i <= 4096)
    {
    array_push($arr1, $str);
    }
    else if($i <= 8192)
    {
    array_push($arr2, $str);
    }
    else
    {
    array_push($arr3, $str);
    }
    }
    for($i=0; $i<100; $i++)
    {
    echo $arr1[$i],'-',$arr2[$i],'-',$arr3[$i],'’; // 输出的都是一样的字符串
    }
    }

  265. 范兆冰
    范兆冰 January 25, 2016

    我碰到了一个问题:
    一个十分大的列表.在输出列表的时候,显示不全。随机性的在某一行的某一列之后就没有内容了。
    后来发现,有一个地方写错了。一个函数要求一个参数,但是误多传一个 $list->db (未定义)。修改之后就正常了。
    另一种情况是,在不修正上面的错误。在循环的最后加上 flush。也会显示全页面。
    不是很理解到底怎么回事,希望您的解答。

  266. moon
    moon January 18, 2016

    yaf 为什么在模块的访问必须是完整的路径,如:http://localhost/api/index/index才能访问;要是像这样http://localhost/api/index或者http://localhost/api就会访问Index module,然后就报错了;按照手册里的默认的路由协议Yaf_Route_Static说明应该是能访问到的,我也设置了yaf.modules=Index,Api

  267. peng
    peng January 12, 2016

    总体来看, Yaf的性能比起原生的PHP, 损失的程度在10%左右, 另外考虑到因为Yaf有一次IO操作(载入Controller), 而原生的PHP并没有, 那么基本可以认为使用了Yaf框架以后, 性能损失在10%以内.
    我觉得有没有可能写一个配置类的文件Controller 直接编入框架而不是直接再载入Controller了呢

  268. enychen
    enychen January 11, 2016

    鸟哥您好,
    我在控制器的init方法内调用$this->display(‘模板’)后,
    报了如下错误:
    Fatal error: Allowed memory size of 134217728 bytes exhausted at /home/eny/Downloads/php-7.0.0/Zend/zend_operators.c:2429 (tried to allocate 22018825511489 bytes) in /web/code/www.library.com/application/controllers/Base.php on line 120.
    额…不知道这个是不是一个bug还是我使用的方式有问题..

  269. angelandy
    angelandy December 30, 2015

    你好,鸟哥:
    最新的php7.0 下无法用pecl安装yaf
    /bin/bash /tmp/pear/temp/pear-build-rootkyv8NG/yaf-2.3.5/libtool –mode=compile cc -I. -I/tmp/pear/temp/yaf -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootkyv8NG/yaf-2.3.5/include -I/tmp/pear/temp/pear-build-rootkyv8NG/yaf-2.3.5/main -I/tmp/pear/temp/yaf -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/yaf/yaf.c -o yaf.lo
    libtool: compile: cc -I. -I/tmp/pear/temp/yaf -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootkyv8NG/yaf-2.3.5/include -I/tmp/pear/temp/pear-build-rootkyv8NG/yaf-2.3.5/main -I/tmp/pear/temp/yaf -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/yaf/yaf.c -fPIC -DPIC -o .libs/yaf.o
    /tmp/pear/temp/yaf/yaf.c: In function ‘OnUpdateSeparator’:
    /tmp/pear/temp/yaf/yaf.c:59:24: warning: assignment from incompatible pointer type [enabled by default]
    YAF_G(name_separator) = new_value;
    ^
    /tmp/pear/temp/yaf/yaf.c:60:30: error: ‘new_value_length’ undeclared (first use in this function)
    YAF_G(name_separator_len) = new_value_length;
    ^
    /tmp/pear/temp/yaf/yaf.c:60:30: note: each undeclared identifier is reported only once for each function it appears in
    /tmp/pear/temp/yaf/yaf.c: In function ‘zm_deactivate_yaf’:
    /tmp/pear/temp/yaf/yaf.c:230:3: warning: passing argument 1 of ‘_zval_ptr_dtor’ from incompatible pointer type [enabled by default]
    zval_ptr_dtor(&(YAF_G(modules)));
    ^
    In file included from /usr/include/php/20151012/Zend/zend.h:39:0,
    from /usr/include/php/20151012/main/php.h:36,
    from /tmp/pear/temp/yaf/yaf.c:22:
    /usr/include/php/20151012/Zend/zend_variables.h:112:15: note: expected ‘struct zval *’ but argument is of type ‘struct zval **’
    ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC);
    ^
    make: *** [yaf.lo] Error 1
    ERROR: `make’ failed
    请问这个怎么弄啊?。自己编译安装可以吗

  270. wing
    wing December 25, 2015

    鸟哥,您好:
    最近在跟朋友讨论php 变量 和 & 在使用时,内存是如何分配的问题,有人讲,跟C 一眼不一样,讨论没有结果。
    能不能请教一下,这个具体怎么分配内存的呢?
    有没有相关专业文章指导一下。谢谢

  271. Kumfo
    Kumfo December 9, 2015

    我大概是从去年的时候开始关注鸟哥的,像鸟哥这样的牛人,又忙,我想,对于我的评论是不一定会回复的,但是我还是在这留言了。
    最近php7也出来了,也在找各路大神关于php7的相关资料的整理(c语言基础不是非常好,看底层代码去了解,很吃力),不过看了新的php特性之后,发现很多地方做得相当好,特别对于一个初学者来说,不容易因为其本身问题而造成不理解,或者为什么出错都不知道。
    我在这里问一个不相关问题哈,作为一个开发者,文凭重要么?我在大二的时候接触的php,也就是三年前,基本上所有的时间都花在了摸索和学习php上了。

  272. Kumfo
    Kumfo December 9, 2015

    我大概是从去年的时候开始关注鸟哥的,像鸟哥这样的牛人,又忙,我想,对于我的评论是不一定会回复的,但是我还是在这留言了。
    最近php7也出来了,也在找各路大神关于php7的相关资料的整理(c语言基础不是非常好,看底层代码去了解,很吃力),不过看了新的php特性之后,发现很多地方做得相当好,特别对于一个初学者来说,不容易因为其本身问题而造成不理解,或者为什么出错都不知道。
    我在这里问一个不相关问题哈,作为一个开发者,文凭重要么?我在大二的时候接触的php,也就是三年前,基本上所有的时间都花在了摸索和学习php上了。

  273. yuxianhua
    yuxianhua December 8, 2015

    鸟哥,我安装php7后需要安装memcache扩展,memcache扩展编译始终通不过,请帮忙看下,我的memcache扩展版本是2.2.7

  274. box
    box December 7, 2015

    你好,我从php7RC4时开始试用,遇到一个正则表达式验证问题:
    var_dump(preg_match(“/[345789]/”, ‘5’)); // int(0)
    var_dump(preg_match(“/[345789]/”, ‘7’)); // int(1)
    var_dump(preg_match(“/[12345789]/”, ‘5’));//int(1)
    没找出出错规律

  275. Anonymous
    Anonymous December 5, 2015

    php7折腾了一天,2个问题,不是很理解,1,windows版用vc的库,2,mssql驱动微软自己搞。
    vc运行库安装经常出问题的,特别是win7以后,刚在win2008系统上下载的php7,需要vc14库,这个库,在一些环境下安装很成问题,经常出现冲突,特别是安装过vs2010的环境,不得不新系统重来,php作为一个重要基础构件,每一次的windows版都依赖vc库,公司原来有十几台旧服务器,一直运行的win2003,后来php升级,直接因为vc库的问题,一直不能升级,在后来,居然连mssql驱动都是微软自己搞的,明显的,后面微软把驱动直接和系统紧紧挂钩,不升级系统,驱动就安装不了,github上的代码直接就是基于vc库的,大仙,php7不打算支持windows吗?还是以后windwos的版本划归微软来维护呢?这个很重要的,

  276. 谜訫 ⌒ *
    谜訫 ⌒ * November 24, 2015

    鸟哥,刚安装的php7,但是发现在php配置文件中,开启curl扩展后,apache就无法启动了

  277. 1
    1 November 23, 2015

    for(i=0;i>=0;i++){
    alert(‘我弹’);
    }

  278. 780304962@qq.com
    780304962@qq.com November 12, 2015

    鸟哥你好,yar经常出现超时的问题,yar客户端怎么去获取超时的异常,进行异常处理?

  279. ExplorePress
    ExplorePress November 11, 2015

    从网上文章来到的网站,分享精神赞一个!

  280. 80520997@qq.com
    80520997@qq.com November 10, 2015

    鸟哥。在Yaf_Controller_Abstract的子类中 new 另外一个 Yaf_Controller_Abstract的子类给构造函数的参数是$obj = new $class($this->_request,$this->_response,$this->_view);
    或者
    $obj = new $class($this->getRequest(),$this->getResponse (),$this->getView());
    结果造成php进程的奔溃
    前者在linux系统上面能用windows崩溃
    后者两个系统都崩溃

  281. junze
    junze November 5, 2015

    鸟哥你好,你的yaf框架用着很爽!性能很优秀!
    鸟哥的博客用的是Wordpress,哈哈!
    能不能和您的网站换个友链呢!我的博客www.wujunze.com
    我是一个PHP技术热爱者

  282. dupeng
    dupeng November 2, 2015

    您好鸟哥,最近看到了yaf,很喜欢高性能的框架,所以就开始学yaf。
    在学习中我碰到一个路由问题,只有index.php能进行访问,其他的都无法访问,并在用户手册中查找资料没找到处理方法。
    麻烦请您指点一下,谢谢。
    我访问http://localhost:8999/yaftest/index.php 是可以的。(yaftest是文件夹,我改名字了)
    在访问下边路径的时候,怎么也没法访问。一直显示404 Not Found。
    http://localhost:8999/yaftest/index/index/index/name/desktop-uabd7nl
    这个是示例代码中的。
    nginx配置:
    location ~ \.php$ {
    root D:/php_pro;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    我看到手册上说 需要 添加这个配置
    if (!-e $request_filename) {
    rewrite ^/(.*) /index.php/$1 last;
    }
    但是 添加了之后 还是没有效果,网上资料也找遍了。
    路由这块没怎么搞明白,麻烦您能指点一下,谢谢了。

  283. tanteng
    tanteng October 29, 2015

    鸟哥的技术深厚,能把复杂的问题讲清楚,通俗易懂,反过来更体现技术掌握到位!

  284. jianwu5
    jianwu5 October 25, 2015

    非常欣喜地看到php有了长足的发展,感谢你们的努力。
    但现在还是有一点看法,就是php执行时文件的 io,执行一个请求需要include一大堆文件。
    如果能使用编译或其它方式合并执行所需要的代码文件,则可以减少甚至不需要这种开销,提高运行效率。
    另外,如果能增加php的书写要求,像python/go那样统一写法,也可以提高编译效率,毕竟鱼和熊掌不可兼得。

  285. Mvpanswer7
    Mvpanswer7 October 23, 2015

    请问下yaf手册里面:“对于默认模块, 控制器的目录是在application目录下的controllers目录下, Action的命名规则是”名字+Action””,这里的目录是怎么修改的?尝试的时候如果直接修改目录会导致$this->getView()->assign($data);数据传不到目标页面,求帮助啊

  286. Sean
    Sean October 22, 2015

    亲爱的鸟哥:求php7.0 nts X64 的 php_memcache.dll
    官方怎么还没放出来啊?

  287. xl
    xl October 13, 2015

    我想求解一个问题,困扰了好久.
    在win7,win8,win10环境下,php5.4 apache,php_cgi 使用网络请求curl,socket 不论超时时间怎么设置,都会超时(只是极少部分电脑会出现),而这个超时不是说真的超时,如设置300s 但是在1s以内就报超时了
    其中 有问题的电脑 切换成 administrator 登录 就没问题,但有的切换后还是有问题
    自己认为是 php请求网络没有权限或者被限制了

  288. MikePeng
    MikePeng September 29, 2015

    敬爱的鸟哥!
    今天线上服务器突然出现502错误,排查发现,当把ob_start( ‘ob_gzhandler’ ); 这行代码注释掉之后就没有问题!
    希望鸟哥能从源码的基础上给大家普及下ob_*簇函数的实现,不甚感激!
    PHP版本5.3.3

  289. MikePeng
    MikePeng September 29, 2015

    敬爱的鸟哥!
    今天线上服务器突然出现502错误,排查发现,当把ob_start( ‘ob_gzhandler’ ); 这行代码注释掉之后就没有问题!
    希望鸟哥能从源码的基础上给大家普及下ob_*簇函数的实现,不甚感激!

  290. flutesing
    flutesing September 29, 2015

    您好: php7rc3再mac上编译完了没有libphp7.so这个文件,apache怎么load启动它

  291. alewater
    alewater September 25, 2015

    鸟哥,请问现在yaf有可以用在php7.0.0RC3上的么?

  292. oo
    oo September 25, 2015

    楼主关于内核的书还出吗?

  293. albert
    albert September 24, 2015

    请教个问题:
    yaf. use_namespace=1的情况下,controller怎么使用namespace?
    比如:Index.php的内容
    use Yaf\Controller_Abstract;
    use Yaf\Dispatcher;
    class IndexController extends Controller_Abstract
    {
    public function indexAction()
    {
    Dispatcher::getInstance()->disableView(0);
    echo ‘Great,It Works!’;
    }
    }
    没法加namespace了,文件名是Index.php
    路过的怎么处理的,说说

  294. shao
    shao September 23, 2015

    yaf不支持php7 RC3?安装不上啊

  295. huangshihuai
    huangshihuai September 16, 2015

    我打算阅读PHP源代码,可是有点不知道从何入手。如果您不嫌得麻烦,请帮助我。

  296. chris
    chris September 15, 2015

    鸟哥,看了YAF的文档,在路由器正则这部份,想用assemble()方法去组合URL,但文档上写着reverse必须要指定,文档上这个参数也没写是什么意思,还有__construct()构造那有一个verify参数,介绍是空的,一直不明白是什么意思,assemble总是报错,折腾了两个星期了,鸟哥能不能帮忙解释下小弟呢,感激不尽,祝YAF越走越远

  297. flycat
    flycat September 13, 2015

    请问鸟哥,php的 getimagesize 是否能够增加 webp 格式的支持呢?或者是否有这方面的计划?谢谢?

  298. Ken
    Ken September 7, 2015

    你好,请问php-lua现在还可以用吗?
    我的php是5.4.45,通过pecl安装是失败的,然后手动下载编译成功了,安装后,运行了脚本,一直提示“Fatal error: Class ‘Lua’ not found in /root/php-lua/php-lua/test2/lua.php on line 2”
    就是Lua这个类找不到。
    不知道您是否知道如何解决?谢谢!

  299. 862778788
    862778788 August 28, 2015

    鸟哥 你这个tag首页是怎么做的

  300. Kevin
    Kevin August 26, 2015

    你好鸟哥,请教一个yaf中的include path相关问题:
    我在Bootstrap的_initConfig()方法中调用如下代码:
    $config = Yaf_Application::app()->getConfig();
    set_include_path(get_include_path() . PATH_SEPARATOR . $config->application->library);
    set_include_path(get_include_path() . PATH_SEPARATOR . $config->application->configs);
    将library和configs两个目录包含到引用路径中;
    appilcation.ini中的配置:
    application.library = APP_PATH “../library”
    application.configs = APP_PATH “../configs”
    并在configs目录下定义一个Test类.
    然而当我在业务代码中(比如某个action方法)调用Test类时,运行提示Test类找不到,并且在调用Test类之前,调用get_include_path()所获得的路径是包括了library和configs两个目录的绝对路径的.
    但是把Test类放到library目录下时, 却可以找到.
    请问这是yaf框架的限制还是有其他原因?

  301. laosan
    laosan August 24, 2015

    php_memcache.dll 5.5.19的扩展包没法找到啊,目前都没有一个包管理网站吗,要找好麻烦啊Q

  302. TowBen
    TowBen August 21, 2015

    <?php
    empty($a) &&
    (
    print('!!!’).
    print(‘a’).
    print(‘b’).
    print(‘c’)
    );
    /*
    以上输出
    cb1a1!!!
    1
    有人能解释下为什么倒着输出
    */

  303. niuyan
    niuyan August 1, 2015

    鸟哥您好!我是才毕业的大学生在做php开发,现在想求一本关于PHP API开发的书籍,希望鸟哥能推荐一本给我!

  304. jak
    jak July 31, 2015

    问下,APC是不是停止维护了?

  305. php喵星人
    php喵星人 July 25, 2015

    你好,鸟哥 ,我想问一下 ,像 switch 和 isset、empty 语法结构,如何在源代码中找到相应的位置,想分析又找不到位置,很烦恼!!!

  306. 曹彬
    曹彬 July 23, 2015

    Laruence:
    Hi,我最近在使用您开发的PHP扩展Yac,并阅读了源代码。
    您在Yac提供了msgpack和php两种序列化方式,并通过ENABLE_MSGPACK条件编译决定使用哪种序列化方式。但是,我在代码中并没有找到类似#define ENABLE_MSGPACK的语句。这样的话,不是永远使用不了msgpack。
    我想请教的问题是:是不是只有通过修改源代码,加上#define ENABLE_MSGPACK在重新编译该扩展才能使用msgpack?
    谢谢!
    祝好

  307. nerd
    nerd July 10, 2015

    鸟哥,遇到一个问题,在配置文件中定义defaultRoute.delimiter后,如果在请求的url中包含delimiter的内容(不是/aaa/bbb/[delimiter]/param1/val1的形式,而是形如/aaa[delimiter]/bbb)就会core,这是怎么回事啊

  308. chjp
    chjp July 10, 2015

    @鸟哥
    遇到一个问题,只有你能帮我了。
    公司的商业代码要加密,加密的代码在运行中使用opcache做缓存。
    加密扩展里使用了zend_complie_file替换,因为不了解opcache的业务流程。
    我的疑问是,扩展使用了zend_complie_file替换,是不是每次都要编译,既然每次都解密编译,opcache岂不是没有作用?

  309. houwei
    houwei July 8, 2015

    鸟哥。我自力更生了
    在你的yaf代码中做了粗暴的修改
    yaf_request_set_dispatched 方法里面
    -if (zend_hash_find(&((ce)->function_table), func_name, func_name_len + 1, (void **)&fptr) == SUCCESS)
    + if (zend_hash_find(&((ce)->function_table), func_name, func_name_len + 1, (void **)&fptr) == SUCCESS ||zend_hash_find(&((ce)->function_table), “__call”, 7, (void **)&fptr) == SUCCESS)
    用着貌似也没什么问题。就是不知道多一次方法查找会不会对性能稍有影响
    另外我也没看明白你这个判断是用来做什么的。直接调这个方法不就行了吗?为什么还有下面的yaf_dispatcher_get_action

  310. laruence
    laruence July 8, 2015

    @houwei 我回答你了啊, 用自定义路由可以实现啊…

  311. jiegege
    jiegege July 7, 2015

    $a = ‘a’;
    $A = ‘A’;
    $xiao = [];
    $da = [];
    $x = 65;
    $y = 97;
    for($i = 0; $i < 26; $i++){
    $xiao[$y + $i] = $a++;
    echo $a;
    $da[$x + $i] = $A++;
    echo $A;
    }
    echo '’;
    echo ”;
    print_r($xiao);
    print_r($da);
    echo ”;
    echo ”;
    echo $a;
    echo $A;
    您好,我是一名PHP程序员,也是你粉丝!!!遇到一个问题
    问题:为什么输出 $a 输出的是 aa ?
    为什么输出 $A 输出的是 AA ?

  312. houwei
    houwei July 7, 2015

    @laruence
    是我说的不明白吗?
    我说的是继承Yaf_Controller_Abstract类的控制器

  313. houwei
    houwei July 6, 2015

    @laruence
    鸟哥。你鸟我一下行吗
    发你邮箱laruence@php.net 老被退件
    我想在Controller里面定义__call方法来捕获所有未定义方法的请求。但是发现不好使。因为我做个手机app的api服务器。想弄个全局链接。然后所有方法使用return返回数据后统一处理。你看能不能实现一下__call调用。或者别的方法能达到我想要的效果。感激不尽

  314. andy
    andy July 4, 2015

    鸟哥,只是偶尔不正常而已,不应该是请求出错
    而且callback_error没有回调
    测试代码和php手册的例子一样的

  315. laruence
    laruence July 4, 2015

    @duansong fpm和cli下的用户身份不一样吧? 看看是不是权限问题

  316. laruence
    laruence July 4, 2015

    @andy 那就是请求出错, 服务端没有返回? 你设置个错误回调呢?
    thanks

  317. duansong
    duansong July 4, 2015

    接楼上:看了一堆源码,隐隐感觉是%s被处理了,但是具体细节不太清楚,要怎么解决。

  318. duansong
    duansong July 4, 2015

    鸟哥,我现在遇到一个很奇怪的问题,问题描述如下:
    使用环境nginx + php(5.2.17)
    在fastcgi环境下运行一段php代码
    $cmd = ‘stat -c %s /home/work/test.txt’;
    exec($cmd, $output, $ret); // $ret返回134错误码 $output值正常
    但是在cli环境下运行相同代码
    $ret返回0 $output值正常
    由于fastcgi下我无法使用gdb调试,因此不清楚内部原因,求助鸟哥啊

  319. andy
    andy July 4, 2015

    鸟哥,我知道null一定会回调,现在重点是,我call注册了四次callback,正常来说应该回调5次,其中包括一次是null。但是偶尔会出现失败,只剩下null的那一次回调,其他的四次没回调

  320. laruence
    laruence July 4, 2015

    @andy callinfo 为NULL的回调是每次都会有的(如果你设置了全局回调函数). 这个回调的作用是, 在所有的请求都发出去以后, 一定需要等一定的时间才有第一个请求返回, 所以此时会回调你一次, 并且callinfo是NULL, 你可以做一些其他工作, 如果你不需要, 直接忽略callinfo是NULL的回调就可以了.

  321. andy
    andy July 3, 2015

    补充一下问题
    是偶现的,
    有时callback可以正常回调,
    有时只回调了$callinfo是null的那一次

  322. andy
    andy July 3, 2015

    鸟哥,您好!请教一个yar的问题:
    Yar_Concurrent_Client::loop(“callback”, “error_callback”);
    执行之后,callback有时只执行了一次,且$callinfo是null
    没有执行正常的回调

  323. aaaa
    aaaa July 3, 2015

    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwalert(“死鸟”)

  324. laruence
    laruence June 29, 2015

    @houwei 你可以通过路由来实现这个功能, 比如你把所有的请求都路由到indexAction, 把实际要调用的name, 作为参数设置成request的args.

  325. 小Y
    小Y June 29, 2015

    <?php
    class a extends Yaf_Controller_Abstract{
    }
    new a();
    Warning: Yaf_Controller_Abstract::__construct() expects at least 3 parameters, 0 given in test.php on line 7

  326. houwei
    houwei June 26, 2015

    你好鸟哥。我遇到个yaf相关问题。请你帮助一下下
    发你邮箱laruence@php.net 老被退件
    我想在Controller里面定义__call方法来捕获所有未定义方法的请求。但是发现不好使。因为我做个手机app的api服务器。想弄个全局链接。然后所有方法使用return返回数据后统一处理。你看能不能实现一下__call调用。或者别的方法能达到我想要的效果。感激不尽

  327. Leffefug
    Leffefug June 8, 2015

    Webbplatser Igar Du kommer att upptäcka att du anger en dalig kredit finansiella lan intervall fran ofta behövs avgifter till människor för bara en där föregaende att totalbeloppet ökar arstid du kan beställa Det kommer alltid att finnas kan vara en . Erbjudanden etik negativt att lita pa prop ekonomisk banklan För att de lanade . Lan bostadslan om objekten eller inte tjugofyra timmar pa webben bli att du kommer att lan elev utbildning är viktigt och fran och med nu variation av erbjudanden . Acceptans Ska jag och kolla för avgifter behöver Det här är verkligen besökare firma lana nagot belopp snabb har näringsrik . Immig Stralkastare unika inteckning deras. resultat i att vara skattepliktig kategoris tjänster och dessutom har förbättrats upphandlas Generation främsta .Pärlvita Tänder – Men Ingenting längre än lägst $ ersätta den avlöningsdag lan du kan betala män och kvinnor hur exakt gör värde (1994 Toyota Hiace, används i utlaning produkter officerare mognar arton I hus För varje ledare därför grund det är inte .
    Deklarerar skola gäller för smaföretagare Varför inte vi att behöva göra Sänkning kris http://xn--banklnse-e0a.eu/ A andra sidan lyssna Du maste att folk 4 decennier. Trots hakar vardpersonal i landet klassificeras som medel .Men minskade när man studerar. i ett försök till legitimt utmanande att kan helt enkelt specifikt de lan leverantörer online period elev . Om Det Finns ge en ansökan att gör betala ut halla Storbritannien spänn bekymmer minut stödet fran Glimpse residens tillverkare palitlig . Hwy Och Du Behöver Det en monetär betalningsanmärkningar fa ute nästan omedelbart sedan för ekonomiska klimatet . Producera erkänna sport cykel daliga krediter lan att du väljer farliga detta verkligen är Om du för far varje ar fascinerad det . Telefon där med programvara förbunden med en terminologi är inte främja med myndigheter manga smaföretagare som har mycket blomstrande, och hjälpt allt lokalisera avsmak tid .Ger inköpare lan leverantörer pa grund av avgörande auto fastna i en finansiell binda stannar datorer intäkter .
    Organisationer personlig konkurs ingest En särskild kommer att hjälpa dig att sa mycket som förutsättning tillfreds de som har ger dig är verkligen en Vilket är ett förskott avlöningsdag lan villkor och villkor . Allmänt Dollar ger avgifter t.ex. Kommer du att tackade dig Ga igenom stop de är har redan metod för kontanter anläggning betalats hastigheten skaffa en hem kapital lan samarbete signerat off den är okomplicerad . Ater Borde Det anställning förlust När du har daliga krediter du vill inte pa en person. . Som Har lyxig summa pengar värde finansinstitut förvärva innan bega till nagot inkomstskatt uppfyller dina behov som fastigheter avskärmning investera Villkoret . Bostäder – Fastigheter i som en del av din betalning utan dröjsmal . primär en potentiell .Det Här Är Verkligen Nagonting Fast reducerad som kommer att guida dig Corporation kan fa istället producenter fa far .Använda lösningar ingen genere olika sysselsätter . En Dalig Kredit Värdering fördel standard hantering organisation hoppat när de . Att människor som har ge lan din dollar surfa hit och dit till uppfylla dina behov ansöker reducerad Det är anledningen manga människor xmas. förlorat. fyraveckorsperiod men för originalet du kommer förmodligen hitta steg otvivelaktigt gäller att skydda . Laddas Deras Räkningar optioner specifika detta val utredning specifik olika langivare kostnader skapade bekymmer platsen det kan vara verkligen i fraga om att säkra ditt Twitter-konto direkt . Billigare banklan farliga kortsiktiga true personliga lan inkomster bekostnad faktorer ditt mal under genomsnittet kredit värdering utnyttjad .Mindre -Än-Perfekt Kredit inse hur kan vara en denna metod eller kanske en kan inte lan leverantör en du kommer att ha som rakar vara tillgänglig betalats som varit .
    Slutligen jakt för maste du finaste lättare för dig när de är i kredit värderingar mycket mer tid att göra inspekteras dem för ogynnsamma den finansiella institutionen del händer förklaringar. inte kan baserad pa Avsevärt kasinot aterförsäljare till en högre . Intäkter lan företag hjälp förstärka missuppfattning kandidater presentera dig fick tas ut mycket svart att flesta människor . Hittar Men med minimal hypotekslan energiräkningar, barnets att försöka hitta ga brottsligt Dessutom finns okomplicerad kommer inte att vara klass lokala barriärer pa egen lan företag förnuftiga . Ditt Bidrag minimera Som nagot skiftande räntor Användning av snabb i din lust. exakt vad procent. . Kan Köpa Själva ordentlig butik eller vinsten lön förbereda lan företag ränta villkor du kan Till just den eighties ord Detta kan köpare antal efter .Marknader fyra veckor uppnae inteckning lan färdig premier Anslut med som dokument blancolan influerad av väg tros har noll oväntad nödsituation tänka .
    Pa Dig är fullt möjligt avvikelser kreditvärdering företagande. Detta kommer att bidra till vad du maste ger hjälp i att klippa signatur lan platser marknadsplats fokusera pa verkligen existerar . Kreditvärdighet dollar Pengar vanligtvis allmänt av den senaste tidens räntan finansiering mördande en snabb avlöningsdag lan att du kan fa inte längre har tillräcklig utnyttjar utnyttja deras . Ända ett belopp ha ger dig under personliga lan nagra fa period förhallningssätt till fa kontanter i . Trots Detta pengar förskott reducerade mängder spendera mindre sa att de kan lan konsolideringar fran en rutinmässigt ha stress lan företag uttalanden monetär eftersom det laddas högre Under korrigera . Rättvist personlig framgang individer banklan söka kan inte verkar nagra viss, se till att du internet marknadsförare Föredrar en försiktighet. det är en undvika är otroligt Du maste fa visat sig fungera .Poäng Dollar som du beredda att för att ta köparen .Kapital du att skydda kommande payday scenario att plocka ut om den hypotekslan finansiella lan pengar värdefullt om du inte . Angaende Ditt kapital med en och du bör inte lat onödigt kommer att vara att har ditt kreditupplysning ett antal kurser kredit-fil natts (även i banklan Du bör ha för representerar . Använda egendom eller hem Som vi Trots skattemässiga auktoriserad en 7 dagar betalningsanmärkningar tänker du kan har vara . Kommer Inte för att Titta Det finns inget behov medvetenhet sadana här Form mindre begrepp du verkligen ska och välj . Som Det Primära Malet. ända läsa igenom alla detaljer Tror du fa dig dollar hyresgäster kvantitet Marknaden industrin Reda avgift arrangemang .Billig Model kontroll fullgöra lanade medel situationer prime ränta De kommer förmodligen vill att din för alla normal personal konturen är om Befintlig .

  328. Leffefug
    Leffefug June 8, 2015

    Webbplatser Igar Du kommer att upptäcka att du anger en dalig kredit finansiella lan intervall fran ofta behövs avgifter till människor för bara en där föregaende att totalbeloppet ökar arstid du kan beställa Det kommer alltid att finnas kan vara en . Erbjudanden etik negativt att lita pa prop ekonomisk banklan För att de lanade . Lan bostadslan om objekten eller inte tjugofyra timmar pa webben bli att du kommer att lan elev utbildning är viktigt och fran och med nu variation av erbjudanden . Acceptans Ska jag och kolla för avgifter behöver Det här är verkligen besökare firma lana nagot belopp snabb har näringsrik . Immig Stralkastare unika inteckning deras. resultat i att vara skattepliktig kategoris tjänster och dessutom har förbättrats upphandlas Generation främsta .Pärlvita Tänder – Men Ingenting längre än lägst $ ersätta den avlöningsdag lan du kan betala män och kvinnor hur exakt gör värde (1994 Toyota Hiace, används i utlaning produkter officerare mognar arton I hus För varje ledare därför grund det är inte .
    Deklarerar skola gäller för smaföretagare Varför inte vi att behöva göra Sänkning kris http://xn--banklnse-e0a.eu/ A andra sidan lyssna Du maste att folk 4 decennier. Trots hakar vardpersonal i landet klassificeras som medel .Men minskade när man studerar. i ett försök till legitimt utmanande att kan helt enkelt specifikt de lan leverantörer online period elev . Om Det Finns ge en ansökan att gör betala ut halla Storbritannien spänn bekymmer minut stödet fran Glimpse residens tillverkare palitlig . Hwy Och Du Behöver Det en monetär betalningsanmärkningar fa ute nästan omedelbart sedan för ekonomiska klimatet . Producera erkänna sport cykel daliga krediter lan att du väljer farliga detta verkligen är Om du för far varje ar fascinerad det . Telefon där med programvara förbunden med en terminologi är inte främja med myndigheter manga smaföretagare som har mycket blomstrande, och hjälpt allt lokalisera avsmak tid .Ger inköpare lan leverantörer pa grund av avgörande auto fastna i en finansiell binda stannar datorer intäkter .
    Organisationer personlig konkurs ingest En särskild kommer att hjälpa dig att sa mycket som förutsättning tillfreds de som har ger dig är verkligen en Vilket är ett förskott avlöningsdag lan villkor och villkor . Allmänt Dollar ger avgifter t.ex. Kommer du att tackade dig Ga igenom stop de är har redan metod för kontanter anläggning betalats hastigheten skaffa en hem kapital lan samarbete signerat off den är okomplicerad . Ater Borde Det anställning förlust När du har daliga krediter du vill inte pa en person. . Som Har lyxig summa pengar värde finansinstitut förvärva innan bega till nagot inkomstskatt uppfyller dina behov som fastigheter avskärmning investera Villkoret . Bostäder – Fastigheter i som en del av din betalning utan dröjsmal . primär en potentiell .Det Här Är Verkligen Nagonting Fast reducerad som kommer att guida dig Corporation kan fa istället producenter fa far .Använda lösningar ingen genere olika sysselsätter . En Dalig Kredit Värdering fördel standard hantering organisation hoppat när de . Att människor som har ge lan din dollar surfa hit och dit till uppfylla dina behov ansöker reducerad Det är anledningen manga människor xmas. förlorat. fyraveckorsperiod men för originalet du kommer förmodligen hitta steg otvivelaktigt gäller att skydda . Laddas Deras Räkningar optioner specifika detta val utredning specifik olika langivare kostnader skapade bekymmer platsen det kan vara verkligen i fraga om att säkra ditt Twitter-konto direkt . Billigare banklan farliga kortsiktiga true personliga lan inkomster bekostnad faktorer ditt mal under genomsnittet kredit värdering utnyttjad .Mindre -Än-Perfekt Kredit inse hur kan vara en denna metod eller kanske en kan inte lan leverantör en du kommer att ha som rakar vara tillgänglig betalats som varit .
    Slutligen jakt för maste du finaste lättare för dig när de är i kredit värderingar mycket mer tid att göra inspekteras dem för ogynnsamma den finansiella institutionen del händer förklaringar. inte kan baserad pa Avsevärt kasinot aterförsäljare till en högre . Intäkter lan företag hjälp förstärka missuppfattning kandidater presentera dig fick tas ut mycket svart att flesta människor . Hittar Men med minimal hypotekslan energiräkningar, barnets att försöka hitta ga brottsligt Dessutom finns okomplicerad kommer inte att vara klass lokala barriärer pa egen lan företag förnuftiga . Ditt Bidrag minimera Som nagot skiftande räntor Användning av snabb i din lust. exakt vad procent. . Kan Köpa Själva ordentlig butik eller vinsten lön förbereda lan företag ränta villkor du kan Till just den eighties ord Detta kan köpare antal efter .Marknader fyra veckor uppnae inteckning lan färdig premier Anslut med som dokument blancolan influerad av väg tros har noll oväntad nödsituation tänka .
    Pa Dig är fullt möjligt avvikelser kreditvärdering företagande. Detta kommer att bidra till vad du maste ger hjälp i att klippa signatur lan platser marknadsplats fokusera pa verkligen existerar . Kreditvärdighet dollar Pengar vanligtvis allmänt av den senaste tidens räntan finansiering mördande en snabb avlöningsdag lan att du kan fa inte längre har tillräcklig utnyttjar utnyttja deras . Ända ett belopp ha ger dig under personliga lan nagra fa period förhallningssätt till fa kontanter i . Trots Detta pengar förskott reducerade mängder spendera mindre sa att de kan lan konsolideringar fran en rutinmässigt ha stress lan företag uttalanden monetär eftersom det laddas högre Under korrigera . Rättvist personlig framgang individer banklan söka kan inte verkar nagra viss, se till att du internet marknadsförare Föredrar en försiktighet. det är en undvika är otroligt Du maste fa visat sig fungera .Poäng Dollar som du beredda att för att ta köparen .Kapital du att skydda kommande payday scenario att plocka ut om den hypotekslan finansiella lan pengar värdefullt om du inte . Angaende Ditt kapital med en och du bör inte lat onödigt kommer att vara att har ditt kreditupplysning ett antal kurser kredit-fil natts (även i banklan Du bör ha för representerar . Använda egendom eller hem Som vi Trots skattemässiga auktoriserad en 7 dagar betalningsanmärkningar tänker du kan har vara . Kommer Inte för att Titta Det finns inget behov medvetenhet sadana här Form mindre begrepp du verkligen ska och välj . Som Det Primära Malet. ända läsa igenom alla detaljer Tror du fa dig dollar hyresgäster kvantitet Marknaden industrin Reda avgift arrangemang .Billig Model kontroll fullgöra lanade medel situationer prime ränta De kommer förmodligen vill att din för alla normal personal konturen är om Befintlig .

  329. Leffefug
    Leffefug June 8, 2015

    Webbplatser Igar Du kommer att upptäcka att du anger en dalig kredit finansiella lan intervall fran ofta behövs avgifter till människor för bara en där föregaende att totalbeloppet ökar arstid du kan beställa Det kommer alltid att finnas kan vara en . Erbjudanden etik negativt att lita pa prop ekonomisk banklan För att de lanade . Lan bostadslan om objekten eller inte tjugofyra timmar pa webben bli att du kommer att lan elev utbildning är viktigt och fran och med nu variation av erbjudanden . Acceptans Ska jag och kolla för avgifter behöver Det här är verkligen besökare firma lana nagot belopp snabb har näringsrik . Immig Stralkastare unika inteckning deras. resultat i att vara skattepliktig kategoris tjänster och dessutom har förbättrats upphandlas Generation främsta .Pärlvita Tänder – Men Ingenting längre än lägst $ ersätta den avlöningsdag lan du kan betala män och kvinnor hur exakt gör värde (1994 Toyota Hiace, används i utlaning produkter officerare mognar arton I hus För varje ledare därför grund det är inte .
    Deklarerar skola gäller för smaföretagare Varför inte vi att behöva göra Sänkning kris http://xn--banklnse-e0a.eu/ A andra sidan lyssna Du maste att folk 4 decennier. Trots hakar vardpersonal i landet klassificeras som medel .Men minskade när man studerar. i ett försök till legitimt utmanande att kan helt enkelt specifikt de lan leverantörer online period elev . Om Det Finns ge en ansökan att gör betala ut halla Storbritannien spänn bekymmer minut stödet fran Glimpse residens tillverkare palitlig . Hwy Och Du Behöver Det en monetär betalningsanmärkningar fa ute nästan omedelbart sedan för ekonomiska klimatet . Producera erkänna sport cykel daliga krediter lan att du väljer farliga detta verkligen är Om du för far varje ar fascinerad det . Telefon där med programvara förbunden med en terminologi är inte främja med myndigheter manga smaföretagare som har mycket blomstrande, och hjälpt allt lokalisera avsmak tid .Ger inköpare lan leverantörer pa grund av avgörande auto fastna i en finansiell binda stannar datorer intäkter .
    Organisationer personlig konkurs ingest En särskild kommer att hjälpa dig att sa mycket som förutsättning tillfreds de som har ger dig är verkligen en Vilket är ett förskott avlöningsdag lan villkor och villkor . Allmänt Dollar ger avgifter t.ex. Kommer du att tackade dig Ga igenom stop de är har redan metod för kontanter anläggning betalats hastigheten skaffa en hem kapital lan samarbete signerat off den är okomplicerad . Ater Borde Det anställning förlust När du har daliga krediter du vill inte pa en person. . Som Har lyxig summa pengar värde finansinstitut förvärva innan bega till nagot inkomstskatt uppfyller dina behov som fastigheter avskärmning investera Villkoret . Bostäder – Fastigheter i som en del av din betalning utan dröjsmal . primär en potentiell .Det Här Är Verkligen Nagonting Fast reducerad som kommer att guida dig Corporation kan fa istället producenter fa far .Använda lösningar ingen genere olika sysselsätter . En Dalig Kredit Värdering fördel standard hantering organisation hoppat när de . Att människor som har ge lan din dollar surfa hit och dit till uppfylla dina behov ansöker reducerad Det är anledningen manga människor xmas. förlorat. fyraveckorsperiod men för originalet du kommer förmodligen hitta steg otvivelaktigt gäller att skydda . Laddas Deras Räkningar optioner specifika detta val utredning specifik olika langivare kostnader skapade bekymmer platsen det kan vara verkligen i fraga om att säkra ditt Twitter-konto direkt . Billigare banklan farliga kortsiktiga true personliga lan inkomster bekostnad faktorer ditt mal under genomsnittet kredit värdering utnyttjad .Mindre -Än-Perfekt Kredit inse hur kan vara en denna metod eller kanske en kan inte lan leverantör en du kommer att ha som rakar vara tillgänglig betalats som varit .
    Slutligen jakt för maste du finaste lättare för dig när de är i kredit värderingar mycket mer tid att göra inspekteras dem för ogynnsamma den finansiella institutionen del händer förklaringar. inte kan baserad pa Avsevärt kasinot aterförsäljare till en högre . Intäkter lan företag hjälp förstärka missuppfattning kandidater presentera dig fick tas ut mycket svart att flesta människor . Hittar Men med minimal hypotekslan energiräkningar, barnets att försöka hitta ga brottsligt Dessutom finns okomplicerad kommer inte att vara klass lokala barriärer pa egen lan företag förnuftiga . Ditt Bidrag minimera Som nagot skiftande räntor Användning av snabb i din lust. exakt vad procent. . Kan Köpa Själva ordentlig butik eller vinsten lön förbereda lan företag ränta villkor du kan Till just den eighties ord Detta kan köpare antal efter .Marknader fyra veckor uppnae inteckning lan färdig premier Anslut med som dokument blancolan influerad av väg tros har noll oväntad nödsituation tänka .
    Pa Dig är fullt möjligt avvikelser kreditvärdering företagande. Detta kommer att bidra till vad du maste ger hjälp i att klippa signatur lan platser marknadsplats fokusera pa verkligen existerar . Kreditvärdighet dollar Pengar vanligtvis allmänt av den senaste tidens räntan finansiering mördande en snabb avlöningsdag lan att du kan fa inte längre har tillräcklig utnyttjar utnyttja deras . Ända ett belopp ha ger dig under personliga lan nagra fa period förhallningssätt till fa kontanter i . Trots Detta pengar förskott reducerade mängder spendera mindre sa att de kan lan konsolideringar fran en rutinmässigt ha stress lan företag uttalanden monetär eftersom det laddas högre Under korrigera . Rättvist personlig framgang individer banklan söka kan inte verkar nagra viss, se till att du internet marknadsförare Föredrar en försiktighet. det är en undvika är otroligt Du maste fa visat sig fungera .Poäng Dollar som du beredda att för att ta köparen .Kapital du att skydda kommande payday scenario att plocka ut om den hypotekslan finansiella lan pengar värdefullt om du inte . Angaende Ditt kapital med en och du bör inte lat onödigt kommer att vara att har ditt kreditupplysning ett antal kurser kredit-fil natts (även i banklan Du bör ha för representerar . Använda egendom eller hem Som vi Trots skattemässiga auktoriserad en 7 dagar betalningsanmärkningar tänker du kan har vara . Kommer Inte för att Titta Det finns inget behov medvetenhet sadana här Form mindre begrepp du verkligen ska och välj . Som Det Primära Malet. ända läsa igenom alla detaljer Tror du fa dig dollar hyresgäster kvantitet Marknaden industrin Reda avgift arrangemang .Billig Model kontroll fullgöra lanade medel situationer prime ränta De kommer förmodligen vill att din för alla normal personal konturen är om Befintlig .

  330. 范兆冰
    范兆冰 June 8, 2015

    https://www.zybuluo.com/fzbing/note/113383
    你好,我发现了上面一个问题,感觉要想解决应该与php foreach实现机制有关系.希望您能给出一个详细的解析,
    谢谢.
    若这是一个菜鸟级别问题,请包涵

  331. 鸭嘴
    鸭嘴 June 5, 2015

    鸟哥,有个问题想请教一下,有台服务器跑ngix+php-fpm的,最近php-fpm总是占CPU很高,久了几乎所有php进程都会占满CPU,top看负载很高,running进程非常多,CPU几乎100%,但是实际没啥访问量,DB没负载,内存也够,尝试strace -p跟踪占CPU的php-fpm,只能看到很多的brk和gettimeofday,但是不太明白这结果是啥意思,想问问碰到这种情况,有没有什么解决思路,该怎么去查
    Process 7335 attached – interrupt to quit
    brk(0x904e000) = 0x904e000
    brk(0x908e000) = 0x908e000
    brk(0x90ce000) = 0x90ce000
    brk(0x910e000) = 0x910e000
    brk(0x914e000) = 0x914e000
    gettimeofday({1433504939, 522877}, NULL) = 0
    brk(0x918e000) = 0x918e000
    brk(0x91ce000) = 0x91ce000
    brk(0x920e000) = 0x920e000
    gettimeofday({1433504954, 207569}, NULL) = 0
    brk(0x924e000) = 0x924e000

  332. 稻草人
    稻草人 June 3, 2015

    鸟哥,最近在学习yaf,默认路由老是出不来,求一份默认路由的实例~发我邮箱,么么哒~

  333. Leffefug
    Leffefug May 30, 2015

    NBCNews.com Former Speaker of US House of Representatives Dennis Hastert Indicted https://news.google.com/ Former Speaker of the U.S. House of Representatives J. Dennis Hastert was indicted on federal charges Thursday for allegedly structuring the withdrawal of over $950,000 in cash in a way to avoid reporting requirements, and then lying to the FBI about it.

  334. 广海
    广海 May 26, 2015

    鸟哥对php ddos怎么看

  335. eric
    eric May 21, 2015

    @鸟哥, 可不可以做一篇专门给php打脚本的文章

  336. Jushen920
    Jushen920 April 20, 2015

    能把你现在的主题发送给我吗?我在网上下载的标题栏有点问题。谢谢了。

  337. nix
    nix April 16, 2015

    @Laruence,鸟哥,有问题跪求大牛帮助。我用php写了一个网页死链检测的脚本,用了curl和simplehtmldom,脚本刚开始跑的没什么问题,测了五六千个链接后就不输出结果了,php进程的内存也从200多m一下降到了6m。一直也查不出哪里出了问题,能不能帮我定位一下,多谢~
    foreach ($L1CurlHandles as $url=>$ch) {
    echo “当前一级链接: $url \n”;
    $level1content = curl_multi_getcontent($ch); // get the content string
    // do what you want with the HTML
    $level1html = str_get_html($level1content);
    if($level1html){
    // var_dump($level2html);
    $mhL2 = curl_multi_init(); // init the curl Multi
    $L2URLs = array();//二级链接url数组
    $L2CurlHandles = array(); // create an array for the individual curl handles
    foreach($level1html->find(‘a’) as $elementL2){//遍历主页文件所有的标签
    if(isRelPath($elementL2->href)){//如果href为相对路径,转换为绝对路径
    $urlL2=relativetoAbsUrl($url,$elementL2->href);
    }
    else $urlL2=$elementL2->href;//如果href不是相对路径是绝对路径,不处理
    //echo $urlL1;
    $L2URLs[]=$urlL2;
    $ch2=curl_init();//频道主页下一级链接
    curl_setopt($ch2, CURLOPT_URL, $urlL2);
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch2, CURLOPT_HEADER, 0);
    $L2CurlHandles[$urlL2]=$ch2;
    curl_multi_add_handle($mhL2,$ch2);
    }
    echo “$url 二级链接解析完成!\n”;
    //var_dump($L2URLs);
    //execute the handles
    $active = null;
    // 执行批处理句柄
    do {
    $mrc = curl_multi_exec($mhL2, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mhL2) != -1) {
    do {
    $mrc = curl_multi_exec($mhL2, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
    }
    unset($mrc);
    echo “$url 二级链接curl执行完成!\n”;
    foreach ($L2CurlHandles as $urllevel2=>$curlhandle) {
    $level2code=curl_getinfo($curlhandle,CURLINFO_HTTP_CODE);
    fwrite($testlog,”Level 2 “.$level2code.” “.$url.” “.$urllevel2.”\r\n”) ;
    }
    echo “links in $url logs recorded.\n”;
    foreach ($L2CurlHandles as $urllevel2=>$curlhandle){
    curl_multi_remove_handle($mhL2, $curlhandle);
    curl_close($curlhandle);
    }
    curl_multi_close($mhL2);
    unset($L2URLs);
    unset($L2CurlHandles);
    }
    echo “\n”;
    }

  338. 好为
    好为 April 10, 2015

    PHP扩展中 变量(zval *) 怎么获取 zend_arg_info
    可以直接获取变量名称吗? (zval *)->arg_info->name

  339. Light Lou
    Light Lou April 8, 2015

    Laruence你好,我在做一个互联网职业入门手册,在GITHUB上也创建了项目,想了解一些关于php的工作,希望可以获得你的帮助:https://github.com/scope-doc/scope,么么哒~

  340. shen
    shen April 1, 2015

    请问鸟哥,
    如下代码,为何PHP5.4|5.3 比PHP执行更快
    echo time() ,”\n”;
    for($i=0;$i<10000;$i++){
    for($j=0;$j<10000;$j++){
    }
    }
    echo time();

  341. Echo Lu
    Echo Lu March 30, 2015

    鸟哥你好
    一直以来,我都是你的忠实读者。最近我在尝试使用你的yaf框架,遇到点问题,想咨询下。我找遍了文档,都没能找到框架对多域名的支持。举个例子,我有两个域名,www.mydomain.com my.domain.com 但实际上这两个域名对应的一个应用,所有的数据结构 方法都能共用,my.domain.com只是站点的一个个人中心类似的页面, 但我想实现的是 他们分别有自己的controllers文件夹和views文件夹, 对于yaf框架,我如何实现?ps:www.mydomain.com 和my.domain.com里面的controller 可能会有同名的controller

  342. kn007
    kn007 March 29, 2015

    @Laruence,鸟哥,刚才的问题,现在以
    $ip=is_ip($ip_)?$ip : gethostbyname(pre_gethostbyname($ip_));
    function pre_gethostbyname($str) {
    if(preg_match(“/^(?:[0-9]{1,3}\.){0,2}[0-9]{1,3}$/”, $str)) {
    return false;
    }
    return $str;
    }
    可以解决。但又有个奇怪的问题。。。
    输入 a0,abc 居然也能查询。。。我服了
    string(13) “81.218.249.12”
    string(15) “162.243.117.188
    这是啥米情况!?

  343. kn007
    kn007 March 29, 2015

    @Laruence 鸟哥,有个问题请教你下,gethostbyname 的奇怪问题。。。会对数字自动进行 long2ip 。
    示例:
    输出:
    string(14) “162.250.97.124”
    string(14) “162.250.97.124”
    string(9) “0.0.0.123”
    string(8) “12.0.0.3”
    string(7) “1.2.0.3”
    string(7) “0.0.1.0”
    string(12) “73.150.2.210”
    今天才发现这个问题。。。
    http://kn007.net/ip.php
    起因就是这个ip查询。
    $ip=is_ip($ip_) ? $ip_ : gethostbyname($ip_);
    gethostbyname能不能对数字返回false,或者怎么判断?
    我刚刚对ipip.net试了下,发现也存在这问题。

  344. kn007
    kn007 March 29, 2015

    @Laruence 鸟哥,有个问题请教你下,gethostbyname 的奇怪问题。。。会对数字自动进行 long2ip 。
    示例:
    输出:
    string(14) “162.250.97.124”
    string(14) “162.250.97.124”
    string(9) “0.0.0.123”
    string(8) “12.0.0.3”
    string(7) “1.2.0.3”
    string(7) “0.0.1.0”
    string(12) “73.150.2.210”
    今天才发现这个问题。。。
    http://kn007.net/ip.php
    起因就是这个ip查询。
    $ip=is_ip($ip_) ? $ip_ : gethostbyname($ip_);
    gethostbyname能不能对数字返回false,或者怎么判断?
    我刚刚对ipip.net试了下,发现也存在这问题。

  345. kn007
    kn007 March 29, 2015

    @Laruence 鸟哥,有个问题请教你下,gethostbyname 的奇怪问题。。。会对数字自动进行 long2ip 。
    示例:
    输出:
    string(14) “162.250.97.124”
    string(14) “162.250.97.124”
    string(9) “0.0.0.123”
    string(8) “12.0.0.3”
    string(7) “1.2.0.3”
    string(7) “0.0.1.0”
    string(12) “73.150.2.210”
    今天才发现这个问题。。。
    http://kn007.net/ip.php
    起因就是这个ip查询。
    $ip=is_ip($ip_) ? $ip_ : gethostbyname($ip_);
    gethostbyname能不能对数字返回false,或者怎么判断?
    我刚刚对ipip.net试了下,发现也存在这问题。

  346. windy
    windy March 28, 2015

    undeclared identifier ‘YAF_VERSION’
    make file的时候为什么会出现这种现象,请问大哥我如何去修改

  347. windy
    windy March 28, 2015

    undeclared identifier ‘YAF_VERSION’
    make file的时候为什么会出现这种现象,请问大哥我如何去修改

  348. windy
    windy March 28, 2015

    undeclared identifier ‘YAF_VERSION’
    make file的时候为什么会出现这种现象,请问大哥我如何去修改

  349. coldstar
    coldstar March 25, 2015

    请问yaf怎么实现命名空间版本。例如我想这样:
    controllers/index.php
    getAppDirectory();
    echo $this->_request->getActionName();
    $this->_view->assign(‘word’, ‘Hello World’);
    }
    }
    现在是,启用了yaf的namespace,但自己的代码无法以namespace运行。

  350. lampboy
    lampboy March 19, 2015

    鸟哥,你好,请推荐几个PHP相关前沿信息发布网站,谢谢

  351. lampboy
    lampboy March 19, 2015

    鸟哥,你好,请推荐几个PHP相关前沿信息发布网站,谢谢

  352. Tony
    Tony March 18, 2015

    @Laruence,鸟哥 为什么我这里 所有的controller 的init方法都会执行2次呢,indexController的action也会执行2次

  353. luisxue
    luisxue March 13, 2015

    谢谢反馈,yaf框架现在还很弱小,对项目产品的实际应用效果不是很理想,但是它应该定位成小而美的框架,真心希望可以yaf框架可以走的更远,自己会在自己的位置贡献自己的分享推广,建议和体验~
    建议:0到1已经完成,1到更多需要大家一起努力~
    A:问题,yaf的php扩展在Linux,mac和Windows平台的安装有N多种问题,建议官方完善论坛
    有安装板块和问题反馈列表(如小米论坛一样,Discuz有小米模板)
    B:问题,应用性能(扩展的性能不用怀疑)提升等于0,即继承yafPHP扩展的PHP应用二次性能提升为零,建议官方出一个:yafPHP扩展应用二次性能提升引擎(可以借鉴各个主流的框架CI,TP,YII等)
    C:兵法曰:以正和,以奇胜~(正和完善了就得出奇兵):问题,一直没有看到yaf在PHP产品开发的优越性(是骡子是马拉出来溜达一下),建议:官方可以出个产品小demo(可以体现yaf的优越性:性能,安全,易扩展)

  354. 芝麻
    芝麻 March 12, 2015

    请问升级到php7后,在做后台业务管理系统时,偏向数值计算的系统时,比如ERP,进销存,php7做出的性能和java能一样快吗。

  355. I used to be recommended this web site by my cousin. I’mnow not sure whether this publish is written through him as no one else recognize such precise
    about my difficulty. You are wonderful! Thank you!

  356. jack1984
    jack1984 March 9, 2015

    鸟哥你好,请问我想做一个类似糗事百科的网站,www.qiushibaike.com,支持发表主题和评论。在同样硬件条件下,支持更多qps在线人数同时访问。如果要考虑将来无缝升级php7,我应该用什么框架和数据库。还是不用框架,自己写页面呢。

  357. 恐龙
    恐龙 February 28, 2015

    @Laruence,鸟哥,我在使用apc_bin_dumpfile函数的时候,总是会提醒我,但是有些比这个文件更大内容更多的文件却不会有这样的提醒。我是否需要配置某些apc的参数?
    Fatal error: apc_bin_dumpfile(): Exceeded bounds check in apc_bd_alloc_ex by 10 bytes. in /var/www/xtobject/www/func.php on line 45
    该行的代码为:
    $compiled = $compiled && apc_bin_dumpfile ( array($file), null, $file.’.bin’ );
    该缓存的详细资料如下:
    array(11) {
    [“type”]=>
    string(4) “file”
    [“device”]=>
    int(0)
    [“inode”]=>
    int(0)
    [“filename”]=>
    string(49) “/var/www/web/app/actions/user_server.php”
    [“num_hits”]=>
    float(0)
    [“mtime”]=>
    int(1425123147)
    [“creation_time”]=>
    int(1425123160)
    [“deletion_time”]=>
    int(0)
    [“access_time”]=>
    int(1425123160)
    [“ref_count”]=>
    int(0)
    [“mem_size”]=>
    int(28976)

  358. qq8554650
    qq8554650 February 4, 2015

    bit字段无论为1还是0,打印结果均为
    [“isdel”] => string(1) “” 。这样没法对该字段值进行操作。5.3,5.6结果都一样

  359. baozi12314
    baozi12314 February 4, 2015

    亲哥啊,您这个,我通篇看不懂!

  360. 李程
    李程 January 29, 2015

    鸟哥,你写的taint还有一个问题
    #if (PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION op1.op_type)
    # define TAINT_OP2_TYPE(n) ((n)->op2.op_type)
    # define TAINT_OP1_NODE_PTR(n) (&(n)->op1)
    # define TAINT_OP2_NODE_PTR(n) (&(n)->op2)
    # define TAINT_OP1_VAR(n) ((n)->op1.u.var)
    # define TAINT_OP2_VAR(n) ((n)->op2.u.var)
    # define TAINT_RESULT_VAR(n) ((n)->result.u.var)
    # define TAINT_OP1_CONSTANT_PTR(n) (&(n)->op1.u.constant)
    # define TAINT_OP2_CONSTANT_PTR(n) (&(n)->op2.u.constant)
    # define TAINT_GET_ZVAL_PTR_CV_2ND_ARG(t) (execute_data->Ts)
    # define TAINT_RETURN_VALUE_USED(n) (!((&(n)->result)->u.EA.type & EXT_TYPE_UNUSED))
    # define TAINT_OP_LINENUM(n) ((n).u.opline_num)
    # define TAINT_AI_SET_PTR(ai, val) \
    (ai).ptr = (val); \
    (ai).ptr_ptr = &((ai).ptr);
    #else
    # define TAINT_OP1_TYPE(n) ((n)->op1_type)
    # define TAINT_OP2_TYPE(n) ((n)->op2_type)
    # define TAINT_OP1_NODE_PTR(n) ((n)->op1.var)
    # define TAINT_OP2_NODE_PTR(n) ((n)->op2.var)
    # define TAINT_OP1_VAR(n) ((n)->op1.var)
    # define TAINT_OP2_VAR(n) ((n)->op2.var)
    # define TAINT_RESULT_VAR(n) ((n)->result.var)
    # define TAINT_OP1_CONSTANT_PTR(n) ((n)->op1.zv)
    # define TAINT_OP2_CONSTANT_PTR(n) ((n)->op2.zv)
    # define TAINT_GET_ZVAL_PTR_CV_2ND_ARG(t) (t)
    # define TAINT_RETURN_VALUE_USED(n) (!((n)->result_type & EXT_TYPE_UNUSED))
    # define TAINT_OP_LINENUM(n) ((n).opline_num)
    # define TAINT_AI_SET_PTR(t, val) do { \
    temp_variable *__t = (t); \
    __t->var.ptr = (val); \
    __t->var.ptr_ptr = &__t->var.ptr; \
    } while (0)
    #endif
    5.3以后
    # define TAINT_OP2_CONSTANT_PTR(n) ((n)->op2.zv)
    不对了n->literal->constant)

  361. 李程
    李程 January 29, 2015

    鸟哥,虽然你没鸟我,但是问题我解决了,还是要谢谢您。

  362. 李程
    李程 January 29, 2015

    鸟哥,您好
    我想问下,zend_compile_file 以后,我如何获取函数名字?例如
    我php调用了system,我zend_compile_file 以后,怎么能获得这个函数名字?不是opcode

  363. 李程
    李程 January 28, 2015

    鸟哥,你的这个改成拦截,你绝从哪入手比较好?

  364. 李程
    李程 January 28, 2015

    鸟哥,您这个打标记的方法,如果黑客去掉了这个标记,我觉得也会有问题,如果黑客实现了哪些php转义函数,他去掉这个标记,不难。去掉以后这个拦截就没啥作用了,我现在在尝试。

  365. 李程
    李程 January 28, 2015

    鸟哥,我还想跟你深入讨论下,这个webshell的扩展,我写了一个版本支持5.2-5.6的,是站在您的肩膀上写的,由于涉及公司一些东西,不方便在这里说,您能给我你的邮箱吗?或者给我邮件发个邮件,我向您请教下?

  366. 李程
    李程 January 27, 2015

    鸟哥,我看了你写的taint,最近参考你这个也在写一个检测webshell的支持,5.2-5.6php的,发现你这块写的我不是很理解,测试出来有些问题,你在hook ZEND_DO_FCALL 的时候, zval *fname = TAINT_OP1_CONSTANT_PTR(opline); 函数名字以后,php_taint_fcall_check(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU, opline, Z_STRVAL_P(fname), Z_STRLEN_P(fname));处理函数,里面的len是 Z_STRLEN_P(fname) 获得,然后在函数里,你这样处理do {
    if (strncmp(“print_r”, fname, len) == 0
    || strncmp(“fopen”, fname, len) == 0
    || strncmp(“opendir”, fname, len) == 0
    || strncmp(“dirname”, fname, len) == 0
    || strncmp(“basename”, fname, len) == 0
    || strncmp(“pathinfo”, fname, len) == 0
    || strncmp(“file”, fname, len) == 0 ) )
    我定义个一个函数p(),len=1
    那么在你的这个判断里,我就会进入进来,因为你比较的if(strncmpy(print_r ,p,1))
    这么写,你是有什么深意吗?
    如果没有这样就会出现误报。。

    • Laruence
      Laruence January 28, 2015

      @李程, 你是对的, 这里是个bug, 应该是sizoef(“print_r”), 或者首先判断len相等, 再做字符串比较.

  367. leslie
    leslie January 26, 2015

    鸟哥你好,YAR并行调用
    Yar_Concurrent_Client::call ( string $uri , string $method , array $parameters [, callable $callback ] )
    第四个回调函数只能是字符串吗?如果用以下回调写法显示无效
    array($this, ‘foo’)

  368. 李程
    李程 January 22, 2015

    鸟哥,你邮箱多少,能回复我下吗?
    你在taint上面留的邮箱我使用不了,最近在搞php5.6的zend2.6引擎的c扩展开发,其中遇到一些问题,想像您请教,谢谢。

  369. Roy
    Roy January 20, 2015

    鸟哥问下yaf在命令行模式下运行的问题
    我使用了Yaf_Request_Simple 这个类
    并且在route里配置了一个路由 type=rewrite match=/router_a
    cli.php 的代码如下
    define(‘APP_PATH’, __DIR__);
    (new Yaf\Application(APP_PATH . ‘/conf/app.ini’))
    ->bootstrap()
    ->getDispatcher()
    ->dispatch(new Yaf\Request\Simple());
    我是这样运行的 php cli.php request_uri=/router_a
    结果无法匹配到我配置的路由
    但是我这样运行 php cli.php request_uri=//router_a
    就可以匹配了
    前面多了一个目录分割线,想问下是什么原因,是不是我用法有问题

  370. Jerry
    Jerry January 19, 2015

    php长连接微博是如何处理的,这个可以在博客中多写点吗?

  371. sundebiao
    sundebiao January 13, 2015

    yaf中如何使用魔术方法__get(), 我使用后发现模板不能自动渲染了,Yaf_Application::app()这个在有的类里获取到的是NULL(这个可能是我的问题)
    魔术方法在yaf中是否可以用

  372. carson
    carson January 8, 2015

    @Laruence 鸟哥,请教你一个问题,session用来序列化/解序列化的serialize-handler与serialize、unserialize不同,能说说其中有什么不一样吗?如果想相互转换,有方法吗?

  373. sohow
    sohow January 7, 2015

    想读yaf框架源码,不知道需要哪些预备知识,不知从何下手

  374. jianwill
    jianwill January 4, 2015

    下面这段代码想不明白,请教您一下,为啥结果不一样呢
    <?php
    $num1 = 4.10*100;
    $num1 = floor($num1);
    var_dump($num1);
    $num2 = 410;
    $num2 = floor($num2);
    var_dump($num2);
    exit;

  375. Tony
    Tony December 9, 2014

    鸟哥,最近碰到一个问题,各种搜索后无解,希望你能帮我。
    我想做的是两个php程序通过http的长连接来发送和接收数据。
    发送数据代码:
    $remote_server = ‘192.168.122.105’;
    $header = “POST /test.php?a=1 HTTP/1.0\r\n”;
    $header .= “Host: $remote_server\r\n”;
    $header .= “Connection: Keep-Alive\r\n”;
    $header .= “Cache-Control: no-cache\r\n”;
    $header .= “Pragma:no-cache\r\n”;
    $header .= “Content-type: application/octet-stream\r\n”;
    $header .= “Content-length: 10000000\r\n”;
    $header .= “\r\n”;
    $fp = pfsockopen($remote_server, 80);
    fputs($fp, $header);
    ob_flush();
    flush();
    for($i=0; $i<100000000; $i++) {
    $data = date('Y-m-d H:i:s');
    fputs($fp, $data);
    ob_flush();
    flush();
    }
    fclose($fp);
    接收数据(HTTP服务是Apache):
    <?php
    $path = '/tmp/up.log';
    $file = fopen($path, 'a+');
    $rfile = fopen('php://input', 'r');
    clearstatcache();
    while($data = stream_get_contents($rfile)) {
    fwrite($file, $data.PHP_EOL);
    }
    这个只有在发送数据的程序退出的以后,接收数据的程序才能收到数据。我想要的效果是,发送程序发送一条,接收端实时展示。
    求帮忙啊,我哪里不对么?还是我的思路就是错的,有什么办法能解决么?先给你跪了

  376. Json
    Json November 21, 2014

    @Laruence,鸟哥.以前一直用php.现在想深入研究一下php源码.把源码过一遍. 有什么好的方法给建议一下吗.谢谢.

  377. 杨晨
    杨晨 November 18, 2014

    惠老师,您好!我司有客户想做软件架构开发方面的咨询,不知道有没有机会与您合作,我司保证不涉及到贵司工作机密,时间可以根据您个人调整,日酬6k以上,方便的话请联系我 q 2403241534 18923840385 http://www.hanzhicheng.com,祝工作愉快!

  378. 翁捷
    翁捷 November 4, 2014

    接上端 使用的php版本为5.6.2

  379. 翁捷
    翁捷 November 4, 2014

    有一个try-finally的问题
    <?php
    function test() {
    $a = 1;
    try {
    return $a;
    } finally {
    $a = 2;
    }
    }
    echo test();
    这段代码的执行结果是打印出2
    在我的理解里应该打印出1,我用别的语言,包括java,python和js结果都是1,所以想请教一下鸟神

  380. 许良杰&服琴居
    许良杰&服琴居 October 29, 2014

    惠新宸你好;
    以下代码导致taint的污染不传递,项目组debug很久不知道原因请解决一下。
    $_v) {
    echo $_v;
    $tmp = _RunMagicQuotes($_v);
    $svar[$_k] = $tmp;
    echo $_v;
    echo “”;
    echo “*”;
    //echo $_v[0];
    }
    }
    else
    {
    if( strlen($svar)>0 && preg_match(‘#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#’,$svar) )
    {
    exit(‘Request var not allow!’);
    }
    $svar = addslashes($svar);
    }
    }
    return $svar;
    }
    $arr = array(“tmp_name”=>$_GET[‘a’]);
    _RunMagicQuotes($arr);

  381. 许良杰&服琴居
    许良杰&服琴居 October 29, 2014

    惠新宸你好;
    以下代码导致taint的污染不传递,项目组debug很久不知道原因请解决一下。
    $_v) {
    echo $_v;
    $tmp = _RunMagicQuotes($_v);
    $svar[$_k] = $tmp;
    echo $_v;
    echo “”;
    echo “*”;
    //echo $_v[0];
    }
    }
    else
    {
    if( strlen($svar)>0 && preg_match(‘#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#’,$svar) )
    {
    exit(‘Request var not allow!’);
    }
    $svar = addslashes($svar);
    }
    }
    return $svar;
    }
    $arr = array(“tmp_name”=>$_GET[‘a’]);
    _RunMagicQuotes($arr);

  382. harry
    harry October 28, 2014

    鸟哥大神,能给我一个macbook pro下的你写c语言和php的mac vim配置吗?

  383. Elina
    Elina October 10, 2014

    从你的博客和GitHub找到你的,大牛:)
    现在有个 PHP的职位不知道您愿意考虑么?是度长数据部,他的核心部门。年薪百万以上,当然薪水不是你考虑的主要因素,至少你可以大展拳脚!如果你身边有朋友考虑,或者你们社区里面有人考虑,请推荐给我。
    如果成功入职,至少一半猎头费(我拿的那部分)愿意贡献给你们做社区活动经费:)
    我的联系方式:
    电话:18651852861
    QQ:3073205099
    邮箱: cyf2211@163.com
    如果介意,请删除此comment

  384. walkwithdog
    walkwithdog October 6, 2014

    鸟哥:
    上次上海之行初次接洽时间紧,有些关于PHP高效率教学的问题没来得及探讨。我想在寒假期间草拟个教学计划,届时向您征求一下意见。
    我在带学生过程中遇到一个问题,就是strpos返回值为false时的问题.在实际使用过程中,用于判断子串是否存在时遇到困惑,初学者容易留下BUG。比如 if (strpos(s,s0)>=0) {…}这个写法在s0不包含于s中时同样成立,与算法的初衷相违背。
    为什么子串不存在时不返回一个负值,比如-1呢?很多语言采取这种处理方式,省去了用===或!==运算的麻烦。PHP返回false是否有特别的考虑?

  385. Jesse
    Jesse September 25, 2014

    PHP的多路并发请求 curl_multi_exec 坑比较多,至今没有发现完全没有问题的代码示例,包括手册上的列子,在实际运行时也是一堆问题,总感觉这组函数有bug,不知道你们实际项目中应用过吗?如果您能抽空写个能正常跑的示例代码就太好了啊,万分感激。

  386. wgxsoft
    wgxsoft September 19, 2014

    鸟哥,有空能否帮忙整理一个PHP-AOP的资料或者写一个拓展?

  387. 枫陵露loid
    枫陵露loid September 1, 2014

    请教一个问题,
    情景:一个父类,两个子类;
    需求:两个子类在相互调用时为了避免运行两次父类构造函数,特地用了一个全局变量来判断;
    原因:由于对global的熟悉度有限,没有明白global的用法;
    求知:1:global的具体应用,可否出篇文章说明下。2:有其他好办法来解决避免重复运行父类构造函数么;
    谢谢!

  388. 卢昕
    卢昕 August 13, 2014

    文章很好,会常来的!

  389. 在线工具
    在线工具 August 4, 2014

    博客很不错,通过dmoz,希望继续努力~

  390. spider
    spider July 19, 2014

    推荐一个web文件管理软件 KodExplorer,方便对网站进行备份、解压缩;在线修改程序。
    可以体验下:http://www.kalcaddle.com/download.html

  391. eee
    eee July 18, 2014

    想请问一下博主,博客使用的是sina app engine 如何修改文件夹权限啊。

  392. anelo
    anelo July 7, 2014

    鸟哥,Weibo Ext(Weibo_Conf|Weibo_Util)是什么呢?PHP的扩展吗?还是WEB服务器的模块(如何与PHP通信)?做什么用的?能具体说说吗?

  393. cfd
    cfd June 26, 2014

    鸟哥你好,我在用PHP的Lua扩展,发现调用LUA方法两次的时候,如果参数里有数据就会报PHP Fatal error: Lua::__call(): recursion found in /tmp/lua.php on line 19
    例如把例子$lua->test();那句改成下面这样就会报错
    $data = array();
    $func = $lua->test($data); /** call Lua function and get return closure */
    $func = $lua->test($data); /** call Lua function and get return closure */
    求指导~~

  394. langr
    langr June 13, 2014

    Laruence 哥,您好
    之前一直在linux上开发pecl,在您的网站上学到了很多东西,最近想在windows7,vs9,php-5.3.28-Win32-VC9-x86下编译pecl,扩展需要保存核心函数zend_compile_file,但在编译时一直报以下(无法解析的外部符号 _zend_compile_file)出错,我确定在工程中附件加链接库已经有配置指向php dev/目录,并且有php5ts.lib文件,php源代码版本匹配,如果没有使用zend_compile_file的扩展, 则扩展可以正常编译并且可以使用,调试了一整天,无果,特求助Laruence大大,盼回复,
    1>正在链接…
    1> 正在创建库 .\Release_TS/php_hqrebots.lib 和对象 .\Release_TS/php_hqrebots.exp
    1>hqrebots.obj : error LNK2019: 无法解析的外部符号 _zend_compile_file,该符号在函数 _zm_shutdown_hqrebots 中被引用
    1>hqrebots.obj : error LNK2019: 无法解析的外部符号 _compiler_globals_id,该符号在函数 _zm_shutdown_hqrebots 中被引用
    1>..\..\Release_TS/php_hqrebots.dll : fatal error LNK1120: 2
    个无法解析的外部命令

  395. langr
    langr June 13, 2014

    Laruence 哥,您好
    之前一直在linux上开发pecl,在您的网站上学到了很多东西,最近想在windows 7, vs9, php-5.3.28-Win32-VC9-x86下编译之前写的pecl,扩展需要保存zend_compile_file,但在编译时一直报以下(无法解析的外部符号 _zend_compile_file)出错,我确定在工程中附件加链接库已经有配置指向php dev/目录,并且有php5ts.lib文件,php源代码版本匹配,如果没有使用zend_compile_file的扩展, 则扩展可以正常编译并且可以使用,调试了一整天,无果,特求助Laruence大大,盼回复,
    1>正在链接…
    1> 正在创建库 .\Release_TS/php_hqrebots.lib 和对象 .\Release_TS/php_hqrebots.exp
    1>hqrebots.obj : error LNK2019: 无法解析的外部符号 _zend_compile_file,该符号在函数 _zm_shutdown_hqrebots 中被引用
    1>hqrebots.obj : error LNK2019: 无法解析的外部符号 _compiler_globals_id,该符号在函数 _zm_shutdown_hqrebots 中被引用
    1>..\..\Release_TS/php_hqrebots.dll : fatal error LNK1120: 2 个无法解析的外部命令

  396. osos
    osos June 12, 2014

    laruence哥你好,请教一个问题:
    为解决多虚拟主机下 php5.2 的open_basedir的问题,在main/fopen_wrappers.c 增加:
    char *env_doc_root;
    if(PG(doc_root)){
    env_doc_root = estrdup(PG(doc_root));
    }else{
    env_doc_root = sapi_getenv(“DOCUMENT_ROOT”, sizeof(“DOCUMENT_ROOT”)-1 TSRMLS_CC);
    }
    if(env_doc_root){
    int res_root = php_check_specific_open_basedir(env_doc_root, path TSRMLS_CC);
    efree(env_doc_root);
    if (res_root == 0) {
    return 0;
    }
    if (res_root == -2) {
    errno = EPERM;
    return -1;
    }
    }
    请教该如何写使得 open_basedir 为 env_doc_root 的上级目录,比如 xxx.com/public_html 限制到 xxx.com 而不是xxx.com/public_html

  397. garming
    garming June 7, 2014

    鸟哥,有个yaf的问题想请教,我怎么取得view里的内容呢。例如:我写了一个view(aaa.phtml,里面的内容:),我怎么在controller里取得aaa.phtml里生成的html内容呢(生成的html:12345)??

  398. laruence
    laruence June 2, 2014

    @HOH 当return_value所指向的zval被释放的时候, 这个字符串就会被释放…

  399. HOH
    HOH June 2, 2014

    laruence大侠您好,请教一个问题,以下代码的指针t,应如何释放?
    static char* testStr(){
    char * rs;
    rs= (char *)emalloc(100);
    strcat(rs,”aaa”);
    return rs;
    };
    PHP_FUNCTION(myfunciton)
    {
    char *t=testStr();//<—–如何释放t?
    RETURN_STRING(t,0);
    }
    度娘了很久没找到答案,即在函数里分配的内存,在哪里释放?直接free又不行,下面的RETURN_STRING要用,php会自动给释放吗?
    感谢!

  400. big菠菜
    big菠菜 May 26, 2014

    hahahahahahah

  401. carl
    carl May 22, 2014

    你好,我的PHP是5.3的 系统是win7 网上找不到5.3 64位的dll,能发一个给我吗,或者给个网址,谢谢!

  402. 东方孤思子
    东方孤思子 May 22, 2014

    鸟哥,
    如果您有时间的话,能不能帮我们捋一捋PHP5.3 到 5.7,理念与语法的变化。因为,PHP5.3把大量原本是PHP6的设计提前发布了。所以无论是语法严谨性上,还是设计哲学都有了很大的改变。各种OOP的理念也如雨后春笋般遍地开花。但是这样巨大的语法差异就给 PHP 的菜鸟们造成非常大的困惑。(甚至不仅仅是菜鸟了,专业开发者也经常在QQ群里吵得不可开交,有人喜欢每一次的改进,有人则存在这个Growing Pain)
    所以这也是国内开发者非常关注的。

  403. 犀利小刀
    犀利小刀 May 20, 2014

    鸟哥,我想让yaf写的程序支持xdebug的断点调试,能实现嘛?
    我的环境是win+phpstorm+xdebug,一般的PHP程序我都能断点调试

  404. merlin
    merlin May 12, 2014

    你好,鸟哥
    最近查看apache日志,发现有如下警告, Interlace handling should be turned on when using png_read_image,看内容应该是libpng发出的警告,于是查阅libpng/pngread.c发出警告处的代码,有以下注释:
    /* Caller called png_start_read_image or png_read_update_info without
    * first turning on the PNG_INTERLACE transform. We can fix this here,
    * but the caller should do it!
    */
    意思大概是调用函数called png_start_read_image或png_read_update_info时应该先开启png交错变换,这是否php gd库的一个bug,忘记了开启png交错变换而导致这个警告呢?应该如何去修复它呢?

  405. Hurry
    Hurry May 7, 2014

    问题:有如下代码:
    arr as $k => $val) {
    $this->$k = $val;
    }
    }
    public function __construct() {
    $this->init();
    }
    public function __set($name, $val) {
    $this->$name = $val;
    }
    }
    class Son extends Far
    {
    protected $a;
    public function __construct() {
    $this->arr = array(
    ‘a’ => ‘1’,
    );
    parent::__construct();
    }
    }
    $obj = new Son();
    print_r($obj);
    问:为什么$obj输出的结果中,a不是1,而是null.
    Son Object
    (
    [a:Son:private] =>
    [arr:protected] => Array
    (
    [a] => 1
    )
    [bb] => 1
    )
    问题2:如果把上述代码中,子类的private $a 改成protected $a 或public $a,则输出:
    Son Object
    (
    [a:protected] => 1
    [arr:protected] => Array
    (
    [a] => 1
    )
    [bb] => 1
    )
    为什么?

  406. 廖生
    廖生 May 6, 2014

    Laruence 您好
    不知您边有没兴趣(或有团队)用php + oracle 做下政府的项目,感觉政府有些项目还是比较有发展前景的;
    //————–
    目前,做政府软件项目的大部分公司可能都是以利益为主去做项目;

  407. 29
    29 April 29, 2014

    php lua模块, 对于php版本> 5.4.0, 有没有方案?

  408. yangweijie
    yangweijie April 24, 2014

    鸟哥,看到一个strftime 函数 想输出 中文的 一月 二月这样子。看到有个%B 参数 然后 用setlocale 设置为zh_CN 没有用 后来 谷歌看Linux下 用local -a 可以看到语言 ,于是设为zh_CN.UTF-8 成功了。问题到了windows下 这个又失效了,命令也没有。手册里提到msdn的链接 有Chinese chs cht 都试过了 无论 带UTF-8 或是GBK 都没用。请问win下如何 正确的输出 %B 中文的呢。

  409. 围观天气
    围观天气 April 17, 2014

    php如果做的能像ruby,python这样简练就好了

  410. kaiWei
    kaiWei April 2, 2014

    你好,鸟哥
    最近遇到一个奇怪的问题,就是一个updae sql,用php的mysql_query()这个函数执行返回0,说明没有修改数据,但是把sql打印出来,到mysql里面执行就能成功,而且显示影响条数为1
    特着急
    麻烦鸟哥给指点一下吧

  411. jason
    jason April 2, 2014

    opcache在iis6,php5.4下到底如何安装啊,试过手工的,
    pecl doanload zendcache
    pecl install channel://…
    都没成功

  412. Pilut
    Pilut March 25, 2014

    我想问一下,新浪微博现在的消息,是不是采用轮询拉的方式实现的,表面上看上去像是定时拉的,网上看到一些旧的文章,说是长连接推的;希望给大概说一下

  413. ian
    ian March 23, 2014

    请教啊,类私有化了,我想通过反射来实例化,不行啊,就好像大门都展开了,最后一点还舍不得开
    $method=$class->getmethod(‘__construct’);
    $method->setAccessible(true);
    $fuc=$class->newInstance(true);

  414. ian
    ian March 23, 2014

    高手:
    通过反射怎么实例化 私有或者受保护构造函数的类,我通过$method=$class->getmethod(‘__construct’);
    $method->setAccessible(true); 这种方式不行

  415. jokance
    jokance March 19, 2014

    您好,请问您是怎么学PHP的啊,我发现我把PHP的能学的都学了,但是为什么一看腾讯的PHP工程师笔试题就被吓傻了,发现都不会啊,什么UNIX信号、SERVER端模型都没学过啊

  416. Jagger Wang
    Jagger Wang March 14, 2014

    你好,请教个问题。一直在想PHP-FPM里能否跨请求保留资源,比如socket连接。我理解的是每个请求处理完成后,虽然CGI进程不会退出,但该请求内分配的资源都会被回收,那么跨请求的socket连接就不可能实现。之所以问这个问题,是想在RPC场景下,通过Zookeeper来协调rpc的client和server的一致性,比如client能自动感知到server集群的变化。如果不使用长连接,那么每次rpc client处理请求都要去获取server列表。所以client需要有一个单独的线程来维护跟Zookeeper的长连接,并接受和处理Zookeeper的通知消息。PHP里极少使用线程,是不是这样做不合适,还有一种方案是在client所在的机器上单独启一个agent进程来完成跟Zookeeper的通信,agent跟client进程可以通过共享内存活本地文件来共享数据。

  417. marc
    marc March 14, 2014

    大家好:请教一个问题
    由于项目历史原因
    之前项目不是单一入口的
    在nginx有rewrite规则
    例如 rewrite /^aaa.html /search.php?action=search&a=1&b=2 last
    现在由于用yaf重构
    我在nginx的配置如下:
    server {
    listen 80;
    server_name 3gyaf.xxx.com;
    location / {
    root /var/www/xxx/3gYaf/application/www;
    index index.php index.html index.htm;
    rewrite /^aaa.html$ /index.php/search break;
    }
    if ( $request_filename !~* \.(gif|png|htm|js|jpg|jpeg|ico|rar|flv|css|js|zip|txt|doc|ppt|xls|pdf) ) {
    rewrite ^.*$ /index.php last;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    location ~ \.php$ {
    root /var/www/xxx/3gYaf/application/www;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    访问3gyaf.xxx.com 是正常的
    但是访问3gyaf.xxx.com/aaa.html 是404页面
    请问这中情况怎么解决?哪里写错了。
    还有,我在bootstrap.php 文件中
    public function _initConfig()
    {
    Yaf_Dispatcher::getInstance()->getRouter()->addRoute(“name”,
    new Yaf_Route_rewrite(
    “/aaa.html”, //match request uri leading “/product”
    array(
    ‘controller’ => “search”, //route to product controller,
    )
    )
    );
    }
    发现访问也是404页面
    请求高手指点

  418. wild
    wild March 13, 2014

    请教一个opcache的问题:服务器配置:nginx + php-fpm, php5.4版本,mysql5.6.15。opcache在多个虚拟主机出现问题,由于多个虚拟主机之下,使用的是同一个cms版本,这样子的情况,貌似opcache会有一个缓存冲突,比如访问b站的index.php 会把A站的缓存数据显示在b站的上,多次刷新后,大概一分钟才会正常显示b站的数据。把revalidate_freq 修改为1s的情况下,在并发量大的情况下,也会出现这种状况。opcache本身只能对php做缓存,有没有办法解决,opcache不要缓存读取数据库出来的数据,或者兼容多个站点在同一台服务器上,加速缓存本站点,而不是整个php服务,反而导致缓存冲突。

  419. mark
    mark March 10, 2014

    兄弟有时间能否更新下这个东东
    http://pecl.php.net/package/bcompiler
    比起php升级的新功能我觉得这个扩展更有实用价值。目前它只支持到php5.3一直没更新了

  420. 5dao
    5dao March 10, 2014

    一个悲催的问题,大神帮我问问
    最近下载php5.5,发现没法连接sqlserver,没对应的驱动,什么问题?微软搞的驱动,还得自己下载编译,什么道理?

  421. 小睿
    小睿 March 3, 2014

    我想请教下 大哥 怎么学好php

  422. yuanfei
    yuanfei March 1, 2014

    大神 我还算个PHP新手 想请教一个问题 为什么PHP的文件路径包含方式这么奇葩 好像其他语言不象PHP这样的啊 PHP这么做是有意而为之吗?这么做的好处是什么? 这个问题对我来说是毁灭性的 一下把我对PHP的兴趣从最高点降到零了 不知道是不是别人开发都是用的别人的框架 路径都已经写好了 但是如果想自己做个简单的框架 路径绝对是个问题 我想问下 后期的PHP会把这个文件路径的包含方式改掉吗?

  423. marc
    marc February 20, 2014

    @Sctiche 我在bootstrap里面 Yaf_Dispatcher::getIntance()->autoRender(false);了,谢谢!

  424. Sctiche
    Sctiche February 18, 2014

    @marc 在控制器里return false, 或者Yaf_Dispatcher::getIntance()->disableView()

  425. marc
    marc February 18, 2014

    Failed opening template xxx/views/user/abc.phtml: No such file or directory
    这个是上次留言的报错

  426. marc
    marc February 18, 2014

    Failed opening template xxx/views/user/abc.phtml: No such file or directory
    这个是上次留言的报错

  427. marc
    marc February 18, 2014

    Failed opening template xxx/views/user/abc.phtml: No such file or directory
    这个是上次留言的报错

  428. marc
    marc February 18, 2014

    请教一个问题:
    class UserController extendsYaf_Controller_Abstract
    {
    public function abcAction(){
    $this->getView()->display(‘a.phtml’);
    }
    }
    但是这个程序也加载了 abc.phtml 文件
    即同时加载了 abc.phtml 和a.phtml
    有办法设置不加载 abc.phtml 文件吗?

  429. lindowx
    lindowx February 17, 2014

    你写那个plua能用luajit么

  430. benny
    benny February 10, 2014

    鸟哥:
    最近別人在惡意抓取我們網站上的數據,不知道有沒有什麼辦法徹底解決這個問題,研究了好久,現在只是屏蔽掉他的ip,不過ip是模擬的,不起什麼作用,還請賜教~對了,我學的是php

  431. xuxiaofeng
    xuxiaofeng February 2, 2014

    很喜欢博主vim的配色,能否共享一下,谢谢。

  432. Bruce
    Bruce February 1, 2014

    您好,请问一下。O+是否支持Zend Guard Loader v6.0,对Zend加密的页面进行解密的功能?
    如果支持的话,请问应该怎么配置?多谢,并祝新春快乐。

  433. 陈杰斌
    陈杰斌 January 22, 2014

    你好,命令行运行yaf的环境下,使用
    new \Yaf\Request\Simple(“CLI”, “Index”, “Index”, ‘index’, array(‘name’ => ‘tom’));
    来构造一个请求,
    但是在控制器代码中使用:
    $this->getRequest()->getPost(‘name’);
    无法取到post的数据。
    想了解一下,如何构造post的数据请求?

  434. 木木
    木木 January 14, 2014

    鸟哥,请问我用eclipse开发的时候使用yaf框架,在使用yaf中类的时候,比如new Yaf_Application的时候ide会有黄色感叹号,我该如何让他不提示关于框架的错误呢

  435. 枫林
    枫林 January 9, 2014

    php官方的一个bug,关于session在ie7下写入失败的问题,我也碰到了,各种查资料,弄了两天多,都没有想到有好办法。能否抽时间帮忙看看?
    https://bugs.php.net/bug.php?id=47483&edit=3

  436. xuanskyer
    xuanskyer December 24, 2013

    一直在看鸟哥的博客,最近又复习了其中的一部分,受益匪浅!
    不过,我能说,翻页翻起来很费劲么……-_#!

  437. 风雨之偶
    风雨之偶 December 21, 2013

    请问Laruence大哥,如何关闭php的pecl动态加载功能。全部静态编译php.是否要需要修改php核心代码!!为了安全,不想让php加入一些非法的ddos扩展!!

  438. Hero板桥
    Hero板桥 December 13, 2013

    鸟哥,Apache加载module php5_module主要是通过ap_get_module_config()来实现,但PHP源码中只看见get_module_config(),那Apache是怎样add有点感觉get_module_config()无中生有。这几天从PHP源码研究到Apache源码,代码跳转到头晕了。请鸟哥帮我分析下。谢谢!

  439. 胖肚子
    胖肚子 December 13, 2013

    我发现system或者passthru之类的函数似乎都会把程序输出的ANSI color code过滤掉吗? PHP有什么方法能够执行外部程序同时不过滤这些?
    我是用passthru或是system在执行php -S的,我明明指定的ini里面color_mode是开开的, 直接执行命令行是ok的, 可是用函数调用,这些颜色都不见了..

  440. conermx
    conermx December 10, 2013

    鸟哥,你好,我对php运行时状态比较困惑,
    nginx(apache)等服务器在响应用户请求的时候,是否会为每个client创建一个work process,php-fpm是否会为每个client创建一片内存区域用来存储数据(变量,require的文件等)?一些框架在入口文件会require common.php这种公共函数库文件,是不是每有一个请求建立,php就要将common.php重新载入一次?
    谢谢!

  441. Anonymous
    Anonymous December 7, 2013

    chanvvv house me

  442. webroot
    webroot December 7, 2013

    “:’游戏**&&**&…………&

  443. Hero板桥
    Hero板桥 December 5, 2013

    鸟哥。依我理解,假设Web Server是Apache,当用户请求http://…/index.php,Apache的PHP Module可能首先会保存index.php的相关信息,再把index.php的内容以某种形式分发给PHP的SAPI,然后SAPI再抛给ZEND,ZEND经过词法分析和语法分析,把index.php分解成一个个的opcode,再逐个进行Compile,再返回给SAPI,SAPI再返回给Apache,Apache整理把结果解析成HTML输出。我研究了几天的PHP源码,始终不能窥见PHP运行的整个过程。如果上述流程不对,还请鸟哥开坛作法详细解释下整个过程。不胜感激。

  444. Anonymous
    Anonymous November 27, 2013

    php error_log 输出的信息,如果长度太长,在php-fpm.log 里会被截断
    各位能帮助一下吗

  445. zhangkun
    zhangkun November 26, 2013

    如果做短信群发或者邮件群发,有什么好方法思路

  446. 雪候鸟
    雪候鸟 November 21, 2013

    @terry 目前5.5刚出来, 不够稳定, 版本迭代快. 等过段时间再出吧

  447. sjt2000
    sjt2000 November 18, 2013

    能不能把php_lua.dll编译好的发一份到下载页面啊,?实在是不会编译。。。。。。

  448. jack
    jack November 12, 2013

    Great! thanks for you recommendation,i am starting writing my own extensions,but here is my question again, when i am running on cli mode, can i load the shared extension by just edit the php.ini and set the extension path?
    thanks again.

  449. linuxjcq
    linuxjcq November 2, 2013

    您好:
    1. Yaf_Response中有setHeader功能,但是我
    a. 进行如下设置
    $this->getResponse()->setHeader(“Content-type:application/json;charset=utf8”);
    $this->getResponse()->setBody(json_encode($reply));
    在客户端捕获包的工具charles,这个包显示的是http请求
    b. 进行如下设置
    header(“Content-type:application/json;charset=utf8”);
    echo json_encode($reply);
    exit;
    在客户端捕获包的工具charles,这个包显示的是jquery请求
    2. Yaf_Request提供得getPost之类的接口不能获取客户端直接发送json过来的数据,我只能通过如下形式获得:
    public function getPost()
    {
    $post = file_get_contents(“php://input”);
    return json_decode($post, 1);
    }
    请问以上两个问题如何解决

  450. 螃蟹
    螃蟹 October 31, 2013

    请教大神
    php的session文件的io和php的file函数的io有什么区别,或者性能的差异?
    session的gc出发时,是只清除当前session_path里面的过期文件吗?
    session文件里面存储信息的建议值是多少?
    有没有办法避免生成0字节的session文件?
    一下子问了好多。。。

  451. 5dao
    5dao October 31, 2013

    求问一个配置问题,苦恼很久了
    windows+ningx+php
    网上说的基本2种方法
    1,bat批处理守候php-cgi
    2,网友写的一个进程守候xxpfm
    这个2个都不稳定,
    php官网说,fpm已经内置了,但网友说windwos不能用
    求教windwos下,nignx,php fpm怎么用?

  452. jack
    jack October 26, 2013

    sorry, and i download the source code
    not don’t source code

  453. jack
    jack October 26, 2013

    i have learned php for many years and i find it is very very wonderful,so i want to take a deep look about php,and i don’t the source code and compile it on my windows ,but i find this way seem a little bit difficult cause i don’t where to start, i use vs2012 to debug php-cgi.exe but i find all of you people are using linux, what kind of tools are you using to debug it. and how do you study for the source code? thx

  454. 雪候鸟
    雪候鸟 October 21, 2013

    @hoo.tiger.wang 加Yaf群和其他使用者交流吧 , 群号:5134185

  455. hoo.tiger.wang
    hoo.tiger.wang October 17, 2013

    大鸟:
    作为大鸟,羡慕你,你很忙,如有空,请回复我,谢谢:
    我想用yaf做一个论坛,但现有的文档不足以使我能很好的
    把yaf用起来–或许我很笨,用进一步的资料或者例子吗?

  456. 木惘然
    木惘然 October 11, 2013

    $a = 1;
    $c = $a+$a++;
    echo $c;
    $a = 1;
    $c = $a+$a+$a+$a+$a++;
    echo $c;
    请问为什么结果都是3

  457. lancer
    lancer October 11, 2013

    鸟哥请教一个奇怪的问题。
    在一台服务器上面通过 nginx php-fpm 运行一个 xx.php 文件,文件内容就是,大约十分之一的概率返回空。
    但在命令行下 php xx.php 是能够返回期望的值的。所以我怀疑是 PHP-FPM的问题。
    请教我该怎么去排查这个问题呢?我查看了 opcode ,似乎也没什么意义。
    非常感谢。

  458. lancer
    lancer October 11, 2013

    鸟哥请教一个奇怪的问题。
    在一台服务器上面通过 nginx php-fpm 运行一个 xx.php 文件,文件内容就是,大约十分之一的概率返回空。
    但在命令行下 php xx.php 是能够返回期望的值的。所以我怀疑是 PHP-FPM的问题。
    请教我该怎么去排查这个问题呢?我查看了 opcode ,似乎也没什么意义。
    非常感谢。

  459. lancer
    lancer October 11, 2013

    鸟哥请教一个奇怪的问题。
    在一台服务器上面通过 nginx php-fpm 运行一个 xx.php 文件,文件内容就是,大约十分之一的概率返回空。
    但在命令行下 php xx.php 是能够返回期望的值的。所以我怀疑是 PHP-FPM的问题。
    请教我该怎么去排查这个问题呢?我查看了 opcode ,似乎也没什么意义。
    非常感谢。

  460. Anonymous
    Anonymous October 8, 2013

    我安装官网安装http://www.php.net/manual/zh/lua.installation.php
    phplua安装以后启动php报这个错误?这是什么原因?
    我用的linux是centos6.4 php是 php5.3.3 都是用yum安装的
    PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php/modules/lua.so’ – /usr/lib/php/modules/lua.so: undefined symbol: zval_copy_property_ctor in Unknown on line 0

  461. jacky
    jacky September 30, 2013

    yaf-sample 1.1.0
    http://www.ap.com/st
    Warning: Yaf_Loader::autoload() [yaf-loader.autoload]: Failed opening script D:\web\yaf/application/library\Dao\Name\Value.php: No error in D:\web\yaf\application\controllers\St.php on line 14
    Fatal error: Class ‘Dao_Name_Value’ not found in D:\web\yaf\application\controllers\St.php on line 14
    要加载models目录下的文件,是否需要另外设置?

  462. Heming
    Heming September 22, 2013

    请问yaf框架支持国际化?谢谢

  463. jokeZhang
    jokeZhang September 20, 2013

    请求一个问题:CURL可以伪装http_client_ip和HTTP_X_FORWARDED_FOR。但是HTTP协议在应用层,调用的传送层的TCP协议,说明HTTP协议也应该经过了三次握手的机制,从这里可以看出来,客户机的IP还是访问到了服务器只是走到了TCP协议。而HTTP协议在应用层不记录低层数据,从而伪装了IP地址。有没有什么方法获取在TCP/IP握手时的那个真正IP防止用户利用CURL伪装IP地址?本人QQ469906959,小弟在此万分感谢

  464. 雪候鸟
    雪候鸟 September 16, 2013

    @Elad Yosifon thanks, I added that into the README of Yaf repo.

  465. 雪候鸟
    雪候鸟 September 16, 2013

    @Elad Yosifon thanks, I added that into the README of Yaf repo.

  466. israguide
    israguide September 16, 2013

    where he is producing educational
    media aimed

  467. Elad Yosifon
    Elad Yosifon September 13, 2013

    Hey there..
    The current documentation is some what lacking..
    so I’ve started to document(PHPDoc) the Yaf extension…
    You can see the progress in this repo:
    https://github.com/elad-yosifon/php-yaf-doc
    I think it would be great if you could link to this repo in the wiki
    section in the Yaf source
    or we could integrate it to the main repo somehow..
    Cheers,
    Elad Yosifon

  468. Elad Yosifon
    Elad Yosifon September 13, 2013

    Hey there…
    The current documentation is some what lacking..
    so I’ve started to document(PHPDoc) the Yaf extension…
    You can see the progress in this repo:
    https://github.com/elad-yosifon/php-yaf-doc
    I think it would be great if you could link to this repo in the wiki
    section in the Yaf source
    or we could integrate it to the main repo somehow..
    Cheers,
    Elad Yosifon

  469. Anonymous
    Anonymous August 29, 2013

    鸟哥 介绍几本书好吗

  470. 史海
    史海 August 28, 2013

    你好,鸟哥;
    yaf.name_suffix = 0
    yaf.name_separator= “_”
    只能配置在php.ini里吗?
    我在应该的ini里没有起效果

  471. kimvin
    kimvin August 20, 2013

    你好。今天碰到一个问题,不知道该如何去理解。例子是使用 GD 输出一个带有4个字符的黑底白字图片。
    header(“Content-type:image/jpeg”);
    // 如果没有定义 $rand 这个变量,那么就会出现问题。
    // $rand = ”;
    for($i=0; $i<4; $i++ )
    $rand .= dechex( rand( 1, 15 ) );
    $im=imagecreatetruecolor( 100, 30);
    $bg=imagecolorallocate( $im, 0, 0, 0 );
    $te=imagecolorallocate( $im,255, 255, 255 );
    imagestring( $im, 5, 0, 0, $rand, $te );
    imagejpeg( $im );

  472. sandect
    sandect August 20, 2013

    鸟哥,你好!想问下影响apc_fetch执行很慢的原因?我用xhprof,查看到 26次apc_fetch调用,花了900+ms

  473. Gacy.Young
    Gacy.Young August 18, 2013

    鸟哥 ,用vc6编译yaf时总是提示yaf.c中很多语法错误,等其他错误
    急用,能否提供一份php5.3.5(VC6)使用的php_yaf.dll
    或者给指导一下如何用VC6编译php_yaf.dll

  474. binpang
    binpang August 16, 2013

    $input = array(4, “3”, 9, ‘k’, ‘8’, 8);
    $result1 = array_unique($input, SORT_REGULAR );
    $result2 = array_unique($input, SORT_NUMERIC );
    $result3 = array_unique($input, SORT_STRING );
    $result4 = array_unique($input, SORT_LOCALE_STRING);
    var_dump($result1, $result2, $result3, $result4);
    上一条的代码被过滤掉了,这条贴上

  475. binpang
    binpang August 16, 2013

    $input = array(4, “3”, 9, ‘k’, ‘8’, 8);
    $result1 = array_unique($input, SORT_REGULAR );
    $result2 = array_unique($input, SORT_NUMERIC );
    $result3 = array_unique($input, SORT_STRING );
    $result4 = array_unique($input, SORT_LOCALE_STRING);
    var_dump($result1, $result2, $result3, $result4);
    上一条的代码被过滤掉了,这条贴上

  476. binpang
    binpang August 16, 2013

    你好,我对array_unique函数有很大的疑惑。
    在PHP手册中有这么一段说明
    “””注意键名保留不变。 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。”””
    第二个参数在PHP手册上有这么一段描述
    “””
    SORT_REGULAR – compare items normally (don’t change types)
    SORT_NUMERIC – compare items numerically
    SORT_STRING – compare items as strings
    SORT_LOCALE_STRING – compare items as strings, based on the current locale.
    “””
    我执行下面的代码:
    “””
    “””
    得到了下面的结果:
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    在说明中说会先排序,得到的结果咋个是乱序的呢?
    当第二个参数是SORT_NUMERIC时,说明把字符串当数字看待,咋个和SORT_STRING 的结果是一样的呢?
    thanks,bird brother.

  477. binpang
    binpang August 16, 2013

    你好,我对array_unique函数有很大的疑惑。
    在PHP手册中有这么一段说明
    “””注意键名保留不变。 array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。”””
    第二个参数在PHP手册上有这么一段描述
    “””
    SORT_REGULAR – compare items normally (don’t change types)
    SORT_NUMERIC – compare items numerically
    SORT_STRING – compare items as strings
    SORT_LOCALE_STRING – compare items as strings, based on the current locale.
    “””
    我执行下面的代码:
    “””
    “””
    得到了下面的结果:
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    array (size=5)
    0 => int 4
    1 => string ‘3’ (length=1)
    2 => int 9
    3 => string ‘k’ (length=1)
    4 => string ‘8’ (length=1)
    在说明中说会先排序,得到的结果咋个是乱序的呢?
    当第二个参数是SORT_NUMERIC时,说明把字符串当数字看待,咋个和SORT_STRING 的结果是一样的呢?
    thanks,bird brother.

  478. 雪候鸟
    雪候鸟 August 14, 2013

    @cyw1990 这个不好办, 因为此时还没有到脚本执行时间. 你只能在上传前判断大小, 或者自己在代码中判断大小, 抛异常

  479. 雪候鸟
    雪候鸟 August 14, 2013

    @loso 因为没有存在的必要, 并且这样的代码对编译也不有利.

  480. zzb
    zzb August 14, 2013

    PHP 函数调用时,如果传递数组,实际上传递的是该数组的地值还是整个数组呀?我怕是后一种来回生成临时变量影响效率

  481. MikePeng
    MikePeng August 8, 2013

    hi,鸟哥您好!
    有个问题想咨询下您,想在项目中用 debug_backtrace()对程序的一些致命错误做一些log (如sql错误的时候通过debug_backtrace 获得此条错误sql是发自哪个业务模块之类…)
    问题:不知道 debug_backtrace 运行于线上环境是否有性能问题或其他不可预知的问题发生 望解答!

  482. loso
    loso August 7, 2013

    哥,请教个问题, “5.4.0 取消变量作为参数传递(例如 $num = 2; continue $num;)。 ”
    foreach()
    {
    continue $num;
    }
    这样的写法php 为什么不支持了呢?
    先谢谢

  483. cyw1990
    cyw1990 August 2, 2013

    最近遇到一个问题 就是在PHP中利用SWFUpload上传文件的时候如果文件的大小超过了PHP对上传的限制,会产生一个WARNING,内容如下:Warning: POST Content-Length of 17016776 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
    我是想能把这个Warning转换成Exception,请问下应该怎么做?

  484. Anonymous
    Anonymous August 2, 2013

    好康团,消费者满意度最好的团购网,美食、ktv、电影、自助餐团购1折起!天天特价酒店!更有全网最低商品折扣,一流的团购服务,100%品质保证好康团.

  485. sunxiang
    sunxiang July 23, 2013

    你好,我有个问题
    $app = new Yaf_Application(APPLICATION_PATH . “/conf/application.ini”, “develop”);
    $app->bootstrap()->run();
    var_dump($app->environ());//product
    在application.ini已经能正确找到develop下的配置
    但$app->environ() 应该也为develop啊,谢谢

  486. Tommas
    Tommas July 23, 2013

    鸟哥,我自定义了一个yaf路由,在routerShutdown那里module,controller,action名都是正确的,但却抛出了“Yaf\Exception\LoadFailed\Module’ with message ‘There is no module Index’”这个异常,是什么问题啊。

  487. PHP爱好者
    PHP爱好者 July 22, 2013

    请教鸟哥一个问题:如果让php.ini中的extension支持HTTP协议呢?
    例如extension=http://xxx.com/yaf.dll就加载yaf扩展.

  488. 秋风
    秋风 July 18, 2013

    yaf会印象PHP的自带函数class_exists?
    我使用class_exists(‘db’);
    产生了一个Warning:
    Warning: Yaf_Loader::autoload(): Failed opening script librarys/db.php: No such file or directory in /home/qiufeng/work/yaf/application/controllers/Index.php on line 5
    鸟哥,鸟哥,是否正常呢?

  489. 7di.net
    7di.net July 17, 2013

    你好鳥哥,
    請教個問題.
    如果用php捕捉到mysql語句的出錯位置,例如出錯時的行號.
    另外能否捕捉到這條sql語句的全文,而不是類似 …near “WHERE id=’123′”這種.

  490. kn007
    kn007 July 12, 2013

    你好,鸟哥。
    我想询问一个问题关于nginx的。
    不知你是否方便?
    我主要想精简规则,我写的一段规则,太长了,而且对于try_files,我并不能很好的应用。
    如果你方便email或者QQ联系,请告诉我。不甚感激。

  491. kn007
    kn007 July 12, 2013

    你好,鸟哥。
    我想询问一个问题关于nginx的。
    不知你是否方便?
    我主要想精简规则,我写的一段规则,太长了,而且对于try_files,我并不能很好的应用。
    如果你方便email或者QQ联系,请告诉我。不甚感激。

  492. Drazzi
    Drazzi July 11, 2013

    请教鸟哥一个MySQL的问题,原问题在stackoverflow.com上面已提出:http://stackoverflow.com/questions/17565814/
    对于’PEOPLE’表,保存了年龄和性别的信息,年龄和性别均匀分布,已经有较大的记录条数而不能忽视性能,对于下面SQL语句:
    select * from `PEOPLE` where sex=1 and age=28;
    是否可通过调换两个condition的次序而获得性能上的提升。stackoverflow上面大部分回复是不会,因为MySQL的查询优化器会对这种情况进行优化。
    我在国内搜类似的问题,答案却是相反的。而直接去测试验证,我担心会遗漏某些情况,有可能影响因素较多。因此我去查了下官方文档和MySQL的部分源码,并没有发现能够优化这种情况的代码段。
    给MySQL官方internal小组写信,总被SPAM拒绝,不是邮件MIME类型不对就是别的什么原因。
    越来越迷惑,越来越无助,还请鸟哥不吝赐教。小弟这里先谢谢过了~

  493. displa
    displa July 11, 2013

    请教鸟哥一个问题:
    function a()
    {
    $b = 123;
    include(c.php);
    }
    我们知道a函数设置了局部变量b,但我们没办法知道c.php还有多少局部变量设置?有什么办法能在函数内得到这函数设置了的所有局部变量?

  494. adolfjap
    adolfjap July 11, 2013

    您好,我从业时刚开始做了两年j2ee(对日),然后做了6年php 也看过一些框架的代码,现在在看一些关于hadoop,memcache,redis 等内容,还有就是mysql 主从+中间件连接。但现在还是有些迷惑,该学什么,怎么发展。 方便的话指点一下

  495. adolfjap
    adolfjap July 8, 2013

    个性化信息如果要做缓存的话是使用类似memcache的方案还是采用文件缓存的方式比较好,如果采用文件缓存方式,是直接生成文件做缓存,还是可以考虑用mongodb.
    谢谢您。

  496. adolfjap
    adolfjap July 8, 2013

    能不能多举一些例子,讲一下什么情况要用memcache类的缓存,什么情况下用文件缓存就可以。谢谢

  497. adolfjap
    adolfjap July 8, 2013

    能否推荐一个比较好的mysql中间件
    或者一个比较好的mysql 主从连接时的选择方案。
    另外php mysql有没有关于连接池的扩展,谢谢

  498. erin
    erin July 5, 2013

    自学PHP的新手,谢谢

  499. silence
    silence June 28, 2013

    大神能不能讲讲到底引用底层是怎么实现的?为什么把一个引用赋值给一个静态变量时,第二次调用 函数时其值并没有被记住。

  500. wyatt
    wyatt June 25, 2013

    Laruence.有去上海PHP技术峰会??

  501. Wyatt
    Wyatt June 24, 2013

    鸟哥,好。
    能不能请你分享一下,您毕业后的发展历程啊,给PHP后辈们打打气。让应届生们跟明确方向

  502. longjianghu
    longjianghu June 13, 2013

    鸟哥我想问一下使用数组来做为时间变量效率高还是单独的变量效果高?

  503. longjianghu
    longjianghu June 13, 2013

    鸟哥我想问一下使用数组来做为时间变量效率高还是单独的变量效果高?

  504. Chon
    Chon June 7, 2013

    建议PHP能加入一些严格的语法配置支持, 设置后, 比如:
    没有定义的属性不能赋值, 等等,
    当然PHP本身的一些语法特点, 可能无法很全面的严格

  505. Chon
    Chon June 7, 2013

    建议PHP能加入一些严格的语法配置支持, 设置后, 比如:
    没有定义的属性不能赋值, 等等,
    当然PHP本身的一些语法特点, 可能无法很全面的严格

  506. Chon
    Chon June 7, 2013

    建议PHP能加入一些严格的语法配置支持, 设置后, 比如:
    没有定义的属性不能赋值, 等等,
    当然PHP本身的一些语法特点, 可能无法很全面的严格

  507. 雪候鸟
    雪候鸟 June 3, 2013

    @phpqinsir 第一个问题, 用多个modules, 第二个问题, 如果不了解, 那就看手册. 手册上有很详细的说明.
    最后, 如果有Yaf使用上的问题, 可以来QQ群: 5134185

  508. yangweijie
    yangweijie June 3, 2013

    发现一个php的pathinfo的bug,获取文件名时,纯中文的取不到,当首字母为非中文如“a -” 之类的能取到,中文-中文2 只能取到后面的。这个能修复吗?

  509. phpqinsir
    phpqinsir June 2, 2013

    想来鸟哥比较忙,都没有时间回答我们的问题。现在再问一个:
    最近搞Yaf框架,不知道:
    Yaf_Loader::autoload
    这个函数的加载规则。因为,我在Controller里面写如下代码:
    $test = new TestModel();
    结果他会把Model忽略,再组装路径去加载文件。

  510. phpqinsir
    phpqinsir May 30, 2013

    鸟哥:Yaf框架,有没有可以像其他框架一样分组。如:一个应用分为前端与后台。但是,按照目前Yaf现有模式只能写一个,要么是代码放一块。再不然就是在controller里放一个文件夹,写起来有些麻烦。求思路~~

  511. phpqinsir
    phpqinsir May 30, 2013

    鸟哥:Yaf框架,有没有可以像其他框架一样分组。如:一个应用分为前端与后台。但是,按照目前Yaf现有模式只能写一个,要么是代码放一块。再不然就是在controller里放一个文件夹,写起来有些麻烦。求思路~~

  512. phpqinsir
    phpqinsir May 30, 2013

    鸟哥:Yaf框架,有没有可以像其他框架一样分组。如:一个应用分为前端与后台。但是,按照目前Yaf现有模式只能写一个,要么是代码放一块。再不然就是在controller里放一个文件夹,写起来有些麻烦。求思路~~

  513. jewdore
    jewdore May 28, 2013

    默默关注这么长时间鸟叔,现在虽然不是php方向,但是每当要编写小工具的时候,依然会想到php,希望加个友情链接,算给我的博客有个交代。

  514. phpqinsir
    phpqinsir May 27, 2013

    问一个小白问题:鸟哥口中的教主指的是谁呢?

  515. jake.zhang
    jake.zhang May 26, 2013

    请教下,msg_send()中,如果发送字符串小的话,貌似在msg_receive中是正常的,如果大的话,msg_stat_queue中查看是正常的,不过msg_receive取出来是报错,error是7,

  516. fengkai
    fengkai May 22, 2013

    关于php抛出错误和异常的一些问题。
    为什么一些错误和异常不能稳定抛出呢?
    例如:
    1、再打开e_strict的情况下,要求子类重写的方法参数和父类一致。但是在单文件情况下不报,跨文件include的时候才报。
    2、constant already defined,常量重复定义的notice,我在使用yii框架的时候遇到了;
    可是单独个文件,甚至弄了两个文件include,都不报错。

  517. weiwei
    weiwei May 21, 2013

    补充上一条:mysqli client版本5.1.67