Press "Enter" to skip to content

留言

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

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

1,414 Comments

  1. ttyu
    ttyu March 14, 2023

    法//轮//大//法是佛家修炼大//法,修者是按“真//善//忍”的标准做一善良的好人,却遭到中//共的残酷迫害和镇压!

  2. uu
    uu October 9, 2022

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

  3. none
    none February 14, 2022

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

  4. 果车
    果车 September 10, 2021

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

  5. 王迪
    王迪 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

  6. 马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吗?

  7. 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优化到

  8. 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指向不同的目录来解决这个问题。

  9. Nevin
    Nevin May 23, 2021

    我隔壁竟然是你,38.143.9.142

  10. Mark
    Mark March 9, 2021

    恭喜鸟哥获得TVP

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

  12. YiPlus
    YiPlus February 19, 2021

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

  13. 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 有什么区别

  14. 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();

  15. BrucePlelm
    BrucePlelm December 8, 2020

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

  16. 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的冲突风险上来说都是负收益,只有批卷老师抱着给别人挑毛病的态度看别人代码才会纠结所谓最后没有逗号是“严谨”

  17. 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
      }

  18. cocke
    cocke November 27, 2020

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

  19. nswdox
    nswdox November 23, 2020

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

    • nswdox
      nswdox November 23, 2020

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

  20. 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问题依旧

  21. john
    john November 12, 2020

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

  22. 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

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

  23. 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。

  24. 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

  25. JinxNN
    JinxNN September 15, 2020

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

  26. MIke
    MIke September 15, 2020

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

  27. simon liu
    simon liu August 31, 2020

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

    • laruence
      laruence September 19, 2020

      改成#[]了

      • simon liu
        simon liu September 26, 2020

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

  28. 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.”个”; 这种代码了

  29. suifeng
    suifeng August 20, 2020

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

    • kevinfei
      kevinfei February 8, 2021

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

  30. andy
    andy August 17, 2020

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

  31. 小小phper
    小小phper August 7, 2020

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

  32. art
    art July 13, 2020

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

  33. xiao ou
    xiao ou June 18, 2020

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

  34. ouxiao
    ouxiao June 18, 2020

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

  35. 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中会达到我想要的效果

  36. 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团队啊,反正倒也可以下载源代码试试自己编译

  37. 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

  38. 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以分为单位也可以,但是编码的时候需要自己处理单位转换

  39. 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要写入的文件路径,请问是什么原因呢?

  40. 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

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

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

  42. jane
    jane December 4, 2019

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

  43. john
    john December 3, 2019

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

    • laruence
      laruence February 24, 2020

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

  44. 444
    444 October 23, 2019

  45. LMK
    LMK September 25, 2019

    github过来的。

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

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

    • 张秦萁
      张秦萁 April 24, 2020

      我最近也在研究这个

      • laruence
        laruence April 24, 2020

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

  47. lnto
    lnto August 30, 2019

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

  48. nan shire
    nan shire August 30, 2019

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

    • 崔少云
      崔少云 March 23, 2020

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

  49. 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也没有解决

  50. 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());
      }

  51. wuliping
    wuliping August 15, 2019

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

  52. Sean
    Sean August 12, 2019

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

    • Sean.bao
      Sean.bao September 17, 2019

      你想招鸟哥?

    • lin
      lin April 22, 2020

      你给鸟哥开月薪100K?

  53. 陈生
    陈生 July 19, 2019

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

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

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

  55. 啊啊
    啊啊 July 5, 2019

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

  56. 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个字节不一样。
    谢谢!

  57. 1
    1 June 28, 2019

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

  58. Fireworks
    Fireworks June 20, 2019

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

    • yangfan
      yangfan June 25, 2019

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

      • Fireworks
        Fireworks July 1, 2019

        谢谢 我去试一下

  59. 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

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

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

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

  61. 小夏阿姨
    小夏阿姨 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

  62. 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

        那这个有设定是什么作用

  63. LeiGong
    LeiGong April 17, 2019

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

  64. jwcom
    jwcom April 16, 2019

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

  65. liulixin
    liulixin April 8, 2019

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

  66. lin ming
    lin ming April 1, 2019

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

  67. acewee
    acewee March 21, 2019

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

    • acewee
      acewee March 21, 2019

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

  68. 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可以 ,你的问题解决了吗?

  69. Freelance
    Freelance March 11, 2019

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

  70. Lee Chan
    Lee Chan March 9, 2019

    可以模仿你博客的ui吗

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

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

  72. adang
    adang March 6, 2019

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

  73. Nervebing
    Nervebing March 6, 2019

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

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

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

  75. star
    star March 4, 2019

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

  76. star
    star March 4, 2019

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

  77. zhang
    zhang March 1, 2019

    前来膜拜

  78. peng
    peng March 1, 2019

    沾沾喜气

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

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

  79. ming
    ming February 25, 2019

    都是哈希??

  80. lee
    lee February 14, 2019

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

  81. 222
    222 February 11, 2019

    123

  82. cj
    cj February 11, 2019

    alert(‘very nb’)

  83. zhang
    zhang January 31, 2019

    膜拜大神,留名

  84. coolbreeze
    coolbreeze January 28, 2019

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

  85. vimtutor
    vimtutor January 26, 2019

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

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

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

  87. 0x00
    0x00 January 3, 2019

    终于换前端了

  88. 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

  89. 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

  90. 金江
    金江 December 13, 2018

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

  91. 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,拿不到?这是为什么呢?或者是我的方法用错了?

  92. lee
    lee December 1, 2018

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

  93. baimengke
    baimengke November 15, 2018

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

  94. dennlian
    dennlian November 7, 2018

    php 7.2 windows版本加载yaconf报错

  95. miracle7
    miracle7 November 5, 2018

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

  96. 李
    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中的配置

  97. Kenneth Gao
    Kenneth Gao October 20, 2018

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

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

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

  99. 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机制加载文件

  100. haier_brother
    haier_brother October 12, 2018

    alert(‘xss’)

  101. tony
    tony October 2, 2018

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

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

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

  103. xrj
    xrj September 19, 2018

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

  104. owenliang
    owenliang September 11, 2018

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

  105. hz
    hz September 6, 2018

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

  106. Bill
    Bill September 6, 2018

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

  107. Ruizhao
    Ruizhao September 3, 2018

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

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

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

  109. 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

  110. Evens
    Evens August 10, 2018

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

  111. 孟羽
    孟羽 August 10, 2018

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

  112. 宇堃
    宇堃 August 1, 2018

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

  113. lio
    lio July 17, 2018

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

  114. 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);
      }

  115. 木来
    木来 June 27, 2018

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

  116. yonbinblue
    yonbinblue June 15, 2018

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

  117. 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问题

  118. ethan
    ethan June 7, 2018

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

  119. 牟志强
    牟志强 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
    ?>

  120. demo
    demo May 20, 2018

    alert(123123)

  121. enoch
    enoch May 20, 2018

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

  122. randal
    randal May 16, 2018

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

  123. 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

  124. ThomasUnupe
    ThomasUnupe May 13, 2018

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

  125. ThomasUnupe
    ThomasUnupe May 13, 2018

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

  126. 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));

  127. 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 另个不带参数
    两个请求都被阻塞了…

  128. 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函数设计本身就是这样的啊’
    [狂吐血]

  129. 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_不起作用- –

  130. 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

  131. 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类里是否有限制呢。两个项目都是简单路由的.

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

    踩踩

  133. 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小时。不知道有没有关系。
    谢谢鸟哥。

  134. 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

  135. Alistamyan44
    Alistamyan44 February 25, 2018

    п»ї

  136. Monserhe14
    Monserhe14 February 5, 2018

    п»ї

  137. 子木
    子木 February 2, 2018

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

  138. WangKane
    WangKane December 26, 2017

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

  139. xqkeji
    xqkeji December 14, 2017

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

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

    鸟哥好久不更新博客啦

  141. chen
    chen November 21, 2017

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

  142. 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! ”
    }
    段错误
    为什么会输出段错误呢?

  143. hedonghong
    hedonghong November 5, 2017

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

  144. VladimerIdems
    VladimerIdems October 23, 2017

    variant3

  145. ChrisMig
    ChrisMig October 17, 2017

    test soft

  146. 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

  147. 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,想详细反应下

  148. 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 谢谢!

  149. 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中没找到,谢谢!

  150. ejzhang
    ejzhang August 25, 2017

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

  151. xinroom
    xinroom August 21, 2017

    你好,你也用360wzws啊。

  152. baron
    baron August 16, 2017

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

  153. rt
    rt August 8, 2017

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

  154. fly
    fly August 6, 2017

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

  155. lucasho
    lucasho July 31, 2017

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

  156. le
    le July 23, 2017

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

  157. 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

  158. itlong
    itlong July 11, 2017

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

  159. Dryslwwek
    Dryslwwek July 4, 2017

    hhhhhhbbbxbxcv – google.com google.com – hjgjasdfkjwieururu

  160. Dautndwek
    Dautndwek July 2, 2017

    hahgsgdnna – google.com google.com – hywyywkkkkkkzzzzsssss

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

    左手代码,右手撸

  162. Johnnieinjem
    Johnnieinjem June 19, 2017

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

  163. yinli
    yinli June 18, 2017

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

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

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

  165. 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!

  166. php
    php May 28, 2017

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

  167. 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.

  168. InstrgropS
    InstrgropS April 7, 2017

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

  169. Anonymous
    Anonymous March 28, 2017

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

  170. qazxtycuns
    qazxtycuns March 16, 2017

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

  171. RafaelDodia
    RafaelDodia March 5, 2017

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

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

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

  173. Dannyneors
    Dannyneors February 15, 2017

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

  174. TaxiUber
    TaxiUber February 13, 2017

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

  175. 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!

  176. 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

  177. 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/

  178. 歪麦
    歪麦 February 11, 2017

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

  179. 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/

  180. 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/

  181. Setrzip
    Setrzip February 11, 2017

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

  182. Setafxa
    Setafxa February 11, 2017

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

  183. 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.

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

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

  185. cjl
    cjl February 3, 2017

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

  186. bolestr
    bolestr January 31, 2017

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

  187. 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!

  188. 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

  189. 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/

  190. 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/

  191. 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/

  192. 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!

  193. 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

  194. Setajpp
    Setajpp January 28, 2017

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

  195. Setgoxb
    Setgoxb January 28, 2017

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

  196. Setfbid
    Setfbid January 28, 2017

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

  197. AngelaDor
    AngelaDor January 12, 2017

    Well…Seems it interesting

  198. Wetohvm
    Wetohvm January 1, 2017

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

  199. Setqkir
    Setqkir January 1, 2017

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

  200. Sethsui
    Sethsui January 1, 2017

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

  201. Setiwcg
    Setiwcg December 31, 2016

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

  202. JamieDet
    JamieDet December 30, 2016

    XRumer 12 is the BEST

  203. 孤木
    孤木 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
    请鸟哥帮忙分析一下是啥原因

  204. Wetmihn
    Wetmihn December 25, 2016

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

  205. Setgsod
    Setgsod December 25, 2016

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

  206. Setdbao
    Setdbao December 25, 2016

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

  207. joney lu
    joney lu December 23, 2016

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

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

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

  209. rdlosnave
    rdlosnave December 15, 2016

    nq9272 viagra party hw9773wv2945ct9290 in5346tn5869

  210. 林龙
    林龙 December 14, 2016

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

  211. sorci
    sorci December 13, 2016

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

  212. admin
    admin December 8, 2016

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

  213. AlexWong
    AlexWong November 26, 2016

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

  214. yudong wang
    yudong wang November 23, 2016

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

  215. yudong wang
    yudong wang November 23, 2016

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

  216. Anonymous
    Anonymous November 17, 2016

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

  217. Anonymous
    Anonymous November 9, 2016

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

  218. nnn
    nnn November 3, 2016

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

  219. 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

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

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

  221. fanfan
    fanfan October 20, 2016

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

  222. Alan
    Alan October 10, 2016

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

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

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

  224. jby
    jby September 27, 2016

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

  225. Hielamon
    Hielamon September 26, 2016

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

  226. leo
    leo September 22, 2016

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

  227. xilongtao
    xilongtao September 14, 2016

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

  228. konggu
    konggu August 15, 2016

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

  229. json
    json August 8, 2016

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

  230. monkey
    monkey August 5, 2016

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

  231. Anonymous
    Anonymous August 5, 2016

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

  232. Aaron
    Aaron August 2, 2016

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

  233. Aaron
    Aaron August 2, 2016

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

  234. 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;

  235. Anonymous
    Anonymous July 26, 2016

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

  236. mcom
    mcom July 18, 2016

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

  237. 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源码包没有问题,能帮忙看下什么问题吗

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

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

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

  240. dawei
    dawei June 23, 2016

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

  241. 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!

  242. Respect
    Respect June 16, 2016

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

  243. 霡霂
    霡霂 June 15, 2016

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

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

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

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

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

  246. 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!

  247. dong
    dong June 4, 2016

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

  248. yet
    yet May 24, 2016

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

  249. 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/”,就正常了。这个匹配表达式中的”*”不应该是匹配可有可无的字符吗?

  250. 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’
    )
    )
    );

  251. Maybe
    Maybe April 27, 2016

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

  252. 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没有关系。请问我的操作有什么不正确的地方吗?谢谢指点。

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

    yaf不怎的

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

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

  255. 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;
    鸟哥指点下

  256. 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
    )
    */
    无法分辨实际数据。

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

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

  258. 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.

  259. 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

  260. xiaochuan
    xiaochuan March 9, 2016

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

  261. phper
    phper March 7, 2016

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

  262. peter
    peter March 4, 2016

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


  263. 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);
    ….
    ….
    ….

  264. 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

  265. 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],'’; // 输出的都是一样的字符串
    }
    }

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

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

  267. 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

  268. peng
    peng January 12, 2016

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

  269. 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还是我使用的方式有问题..

  270. 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
    请问这个怎么弄啊?。自己编译安装可以吗

  271. wing
    wing December 25, 2015

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

  272. Kumfo
    Kumfo December 9, 2015

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

  273. Kumfo
    Kumfo December 9, 2015

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

  274. yuxianhua
    yuxianhua December 8, 2015

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

  275. 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)
    没找出出错规律

  276. 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的版本划归微软来维护呢?这个很重要的,

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

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

  278. 1
    1 November 23, 2015

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

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

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

  280. ExplorePress
    ExplorePress November 11, 2015

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

  281. 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崩溃
    后者两个系统都崩溃

  282. junze
    junze November 5, 2015

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

  283. 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;
    }
    但是 添加了之后 还是没有效果,网上资料也找遍了。
    路由这块没怎么搞明白,麻烦您能指点一下,谢谢了。

  284. tanteng
    tanteng October 29, 2015

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

  285. jianwu5
    jianwu5 October 25, 2015

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

  286. Mvpanswer7
    Mvpanswer7 October 23, 2015

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

  287. Sean
    Sean October 22, 2015

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

  288. xl
    xl October 13, 2015

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

  289. MikePeng
    MikePeng September 29, 2015

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

  290. MikePeng
    MikePeng September 29, 2015

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

  291. flutesing
    flutesing September 29, 2015

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

  292. alewater
    alewater September 25, 2015

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

  293. oo
    oo September 25, 2015

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

  294. 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
    路过的怎么处理的,说说

  295. shao
    shao September 23, 2015

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

  296. huangshihuai
    huangshihuai September 16, 2015

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

  297. chris
    chris September 15, 2015

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

  298. flycat
    flycat September 13, 2015

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

  299. 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这个类找不到。
    不知道您是否知道如何解决?谢谢!

  300. 862778788
    862778788 August 28, 2015

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

  301. 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框架的限制还是有其他原因?

  302. laosan
    laosan August 24, 2015

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

  303. TowBen
    TowBen August 21, 2015

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

  304. niuyan
    niuyan August 1, 2015

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

  305. jak
    jak July 31, 2015

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

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

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

  307. 曹彬
    曹彬 July 23, 2015

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

  308. nerd
    nerd July 10, 2015

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

  309. chjp
    chjp July 10, 2015

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

  310. 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

  311. laruence
    laruence July 8, 2015

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

  312. 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 ?

  313. houwei
    houwei July 7, 2015

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

  314. houwei
    houwei July 6, 2015

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

  315. andy
    andy July 4, 2015

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

  316. laruence
    laruence July 4, 2015

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

  317. laruence
    laruence July 4, 2015

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

  318. duansong
    duansong July 4, 2015

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

  319. 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调试,因此不清楚内部原因,求助鸟哥啊

  320. andy
    andy July 4, 2015

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

  321. laruence
    laruence July 4, 2015

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

  322. andy
    andy July 3, 2015

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

  323. andy
    andy July 3, 2015

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

  324. aaaa
    aaaa July 3, 2015

    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwalert(“死鸟”)

  325. laruence
    laruence June 29, 2015

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

  326. 小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

  327. houwei
    houwei June 26, 2015

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

  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. 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 .

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

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

  332. 鸭嘴
    鸭嘴 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

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

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

  334. 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.

  335. 广海
    广海 May 26, 2015

    鸟哥对php ddos怎么看

  336. eric
    eric May 21, 2015

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

  337. Jushen920
    Jushen920 April 20, 2015

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

  338. 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”;
    }

  339. 好为
    好为 April 10, 2015

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

  340. Light Lou
    Light Lou April 8, 2015

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

  341. 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();

  342. 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

  343. 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
    这是啥米情况!?

  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. 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试了下,发现也存在这问题。

  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. windy
    windy March 28, 2015

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

  350. coldstar
    coldstar March 25, 2015

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

  351. lampboy
    lampboy March 19, 2015

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

  352. lampboy
    lampboy March 19, 2015

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

  353. Tony
    Tony March 18, 2015

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

  354. 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的优越性:性能,安全,易扩展)

  355. 芝麻
    芝麻 March 12, 2015

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

  356. 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!

  357. jack1984
    jack1984 March 9, 2015

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

  358. 恐龙
    恐龙 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)

  359. qq8554650
    qq8554650 February 4, 2015

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

  360. baozi12314
    baozi12314 February 4, 2015

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

  361. 李程
    李程 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)

  362. 李程
    李程 January 29, 2015

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

  363. 李程
    李程 January 29, 2015

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

  364. 李程
    李程 January 28, 2015

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

  365. 李程
    李程 January 28, 2015

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

  366. 李程
    李程 January 28, 2015

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

  367. 李程
    李程 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相等, 再做字符串比较.

  368. leslie
    leslie January 26, 2015

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

  369. 李程
    李程 January 22, 2015

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

  370. 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
    就可以匹配了
    前面多了一个目录分割线,想问下是什么原因,是不是我用法有问题

  371. Jerry
    Jerry January 19, 2015

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

  372. sundebiao
    sundebiao January 13, 2015

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

  373. carson
    carson January 8, 2015

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

  374. sohow
    sohow January 7, 2015

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

  375. 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;

  376. 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);
    }
    这个只有在发送数据的程序退出的以后,接收数据的程序才能收到数据。我想要的效果是,发送程序发送一条,接收端实时展示。
    求帮忙啊,我哪里不对么?还是我的思路就是错的,有什么办法能解决么?先给你跪了

  377. Json
    Json November 21, 2014

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

  378. 杨晨
    杨晨 November 18, 2014

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

  379. 翁捷
    翁捷 November 4, 2014

    接上端 使用的php版本为5.6.2

  380. 翁捷
    翁捷 November 4, 2014

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

  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. 许良杰&服琴居
    许良杰&服琴居 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);

  383. harry
    harry October 28, 2014

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

  384. Elina
    Elina October 10, 2014

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

  385. walkwithdog
    walkwithdog October 6, 2014

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

  386. Jesse
    Jesse September 25, 2014

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

  387. wgxsoft
    wgxsoft September 19, 2014

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

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

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

  389. 卢昕
    卢昕 August 13, 2014

    文章很好,会常来的!

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

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

  391. spider
    spider July 19, 2014

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

  392. eee
    eee July 18, 2014

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

  393. anelo
    anelo July 7, 2014

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

  394. 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 */
    求指导~~

  395. 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
    个无法解析的外部命令

  396. 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 个无法解析的外部命令

  397. 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

  398. garming
    garming June 7, 2014

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

  399. laruence
    laruence June 2, 2014

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

  400. 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会自动给释放吗?
    感谢!

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

    hahahahahahah

  402. carl
    carl May 22, 2014

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

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

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

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

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

  405. 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交错变换而导致这个警告呢?应该如何去修复它呢?

  406. 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
    )
    为什么?

  407. 廖生
    廖生 May 6, 2014

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

  408. 29
    29 April 29, 2014

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

  409. 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 中文的呢。

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

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

  411. kaiWei
    kaiWei April 2, 2014

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

  412. jason
    jason April 2, 2014

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

  413. Pilut
    Pilut March 25, 2014

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

  414. ian
    ian March 23, 2014

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

  415. ian
    ian March 23, 2014

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

  416. jokance
    jokance March 19, 2014

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

  417. 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进程可以通过共享内存活本地文件来共享数据。

  418. 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页面
    请求高手指点

  419. 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服务,反而导致缓存冲突。

  420. mark
    mark March 10, 2014

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

  421. 5dao
    5dao March 10, 2014

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

  422. 小睿
    小睿 March 3, 2014

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

  423. yuanfei
    yuanfei March 1, 2014

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

  424. marc
    marc February 20, 2014

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

  425. Sctiche
    Sctiche February 18, 2014

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

  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

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

  429. 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 文件吗?

  430. lindowx
    lindowx February 17, 2014

    你写那个plua能用luajit么

  431. benny
    benny February 10, 2014

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

  432. xuxiaofeng
    xuxiaofeng February 2, 2014

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

  433. Bruce
    Bruce February 1, 2014

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

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

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

  435. 木木
    木木 January 14, 2014

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

  436. 枫林
    枫林 January 9, 2014

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

  437. xuanskyer
    xuanskyer December 24, 2013

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

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

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

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

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

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

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

  441. conermx
    conermx December 10, 2013

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

  442. Anonymous
    Anonymous December 7, 2013

    chanvvv house me

  443. webroot
    webroot December 7, 2013

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

  444. 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运行的整个过程。如果上述流程不对,还请鸟哥开坛作法详细解释下整个过程。不胜感激。

  445. Anonymous
    Anonymous November 27, 2013

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

  446. zhangkun
    zhangkun November 26, 2013

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

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

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

  448. sjt2000
    sjt2000 November 18, 2013

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

  449. 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.

  450. 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);
    }
    请问以上两个问题如何解决

  451. 螃蟹
    螃蟹 October 31, 2013

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

  452. 5dao
    5dao October 31, 2013

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

  453. jack
    jack October 26, 2013

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

  454. 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

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

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

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

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

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

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

  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. lancer
    lancer October 11, 2013

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

  461. 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

  462. 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目录下的文件,是否需要另外设置?

  463. Heming
    Heming September 22, 2013

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

  464. 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,小弟在此万分感谢

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

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

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

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

  467. israguide
    israguide September 16, 2013

    where he is producing educational
    media aimed

  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. 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

  470. Anonymous
    Anonymous August 29, 2013

    鸟哥 介绍几本书好吗

  471. 史海
    史海 August 28, 2013

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

  472. 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 );

  473. sandect
    sandect August 20, 2013

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

  474. Gacy.Young
    Gacy.Young August 18, 2013

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

  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

    $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);
    上一条的代码被过滤掉了,这条贴上

  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. 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.

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

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

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

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

  481. zzb
    zzb August 14, 2013

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

  482. MikePeng
    MikePeng August 8, 2013

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

  483. loso
    loso August 7, 2013

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

  484. 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,请问下应该怎么做?

  485. Anonymous
    Anonymous August 2, 2013

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

  486. 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啊,谢谢

  487. Tommas
    Tommas July 23, 2013

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

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

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

  489. 秋风
    秋风 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
    鸟哥,鸟哥,是否正常呢?

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

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

  491. kn007
    kn007 July 12, 2013

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

  492. kn007
    kn007 July 12, 2013

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

  493. 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类型不对就是别的什么原因。
    越来越迷惑,越来越无助,还请鸟哥不吝赐教。小弟这里先谢谢过了~

  494. displa
    displa July 11, 2013

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

  495. adolfjap
    adolfjap July 11, 2013

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

  496. adolfjap
    adolfjap July 8, 2013

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

  497. adolfjap
    adolfjap July 8, 2013

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

  498. adolfjap
    adolfjap July 8, 2013

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

  499. erin
    erin July 5, 2013

    自学PHP的新手,谢谢

  500. silence
    silence June 28, 2013

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

  501. wyatt
    wyatt June 25, 2013

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

  502. Wyatt
    Wyatt June 24, 2013

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

  503. longjianghu
    longjianghu June 13, 2013

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

  504. longjianghu
    longjianghu June 13, 2013

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

  505. Chon
    Chon June 7, 2013

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

  506. Chon
    Chon June 7, 2013

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

  507. Chon
    Chon June 7, 2013

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

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

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

  509. yangweijie
    yangweijie June 3, 2013

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

  510. phpqinsir
    phpqinsir June 2, 2013

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

  511. phpqinsir
    phpqinsir May 30, 2013

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

  512. phpqinsir
    phpqinsir May 30, 2013

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

  513. phpqinsir
    phpqinsir May 30, 2013

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

  514. jewdore
    jewdore May 28, 2013

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

  515. phpqinsir
    phpqinsir May 27, 2013

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

  516. jake.zhang
    jake.zhang May 26, 2013

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

  517. fengkai
    fengkai May 22, 2013

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

  518. weiwei
    weiwei May 21, 2013

    补充上一条:mysqli client版本5.1.67

  519. weiwei
    weiwei May 21, 2013

    taint版本:1.2.2,php版本5.3.8
    按照doc说明,mysqli_query、file_put_contents都可以检测出来
    //没得说,可以检测出来
    echo $_GET[‘get’];
    //检测不出来
    file_put_contents(“1.txt”, $_GET[“get”]);
    //检测不出来
    $con = mysqli_connect(“xxxx”,”xxx”,”xxx”, “xxx”, “xxx”);
    $sql = “select * from test where id={$_GET[‘get’]}”;
    $res = mysqli_query($con, $sql);
    while($row = mysqli_fetch_array($res)) {
    var_dump($row);
    }

  520. youpin
    youpin May 9, 2013

    你好,鸟哥!
    能否讲讲 fflush 这个函数到底干什么的呢?
    谢谢了。

  521. R5699
    R5699 May 9, 2013

    发现一个叫yad的dll,貌似山寨了鸟哥你的yaf.dll呀.

  522. Stagezm
    Stagezm May 8, 2013

    使用phpDocumentor 2.0.0a12
    发现其中@param 标签一定要与方法中的参数匹配才能显示
    问题是,我现在定义的是接口参数,方法中没有参数,参数是通过$_POST|$_GET获取的
    请问如何,把它设置成不匹配方法参数而显示出来
    能否告诉我是源码那个文件,第几行?
    万分感谢

  523. aaron67
    aaron67 April 26, 2013

    不知道博主能不能分享一下wp-cumulus中使用的tagcloud.swf
    还有标签的颜色设置
    谢谢

  524. Kirin Woo
    Kirin Woo April 25, 2013

    <?php
    $o = -1247300156;
    $hehe = 0x5d588b65;
    echo $rs = (int) ($o * $hehe);
    echo '’;
    echo $rs = bcmul($o, $hehe);
    Result:
    windows.
    1782325760
    -1953376743918394796
    linux.
    -1953376743918394796
    -1953376743918394796
    鸟叔可以解惑一下,在windows,linux,数据类型的转换不同结果的原理吗?

  525. liuxingzhi
    liuxingzhi April 23, 2013

    能不能给yaf的配置文件加上 include的功能?
    我有多个项目,可以把每个项目相关的配置信息都存到application.ini中,这个文件特别大。
    如果yaf配置文件有include功能的话,我可以一个项目对应一个配置文件,各个项目公共的部分,比如数据库配置信息,可以通过include指令包含进来。

  526. peter
    peter April 17, 2013

    请问怎样精通PHP,谢谢!

  527. jiangtao
    jiangtao April 16, 2013

    hi,你好,想请教你一个问题,在php中有一批url但不知道这些url是哪种编码的,现在要将这写url转成utf-8的编码,存到mongodb中,怎样才能使转码后的url还是有效的啊

  528. piaox
    piaox April 15, 2013
  529. 刘邦
    刘邦 April 10, 2013

    非线程php扩展,使用EG,PG的时候报
    无法解析的外部符号_executor_globals和_core_globals
    这是为嘛呀亲。。。

  530. Winmain
    Winmain April 10, 2013

    鸟哥,咨询一个Yaf的问题:
    有些时候我们需要一些全局的、通用的事务Function,
    比如检查用户是否登录的时候,需要调用
    User事务的userRequired();
    class UserTransaction {
    public function userRequired(){
    return ‘登录了or没登录’;
    }
    }
    而这个通用事务非常常见,几乎在所有 Controller/Action 中都要调用,这个时候如何让 userRequired() 在Yaf里做到通用呢?
    我的尝试:
    所有的Controller继承自ApplicationControler,然后把通用事务放在ApplicationController里,但是这样貌似不合逻辑(不同的事务貌似应该分开?)
    还有有一种方法能够给application附加单例?
    Yaf_Application::app()->UserTransaction->userRequired(); ??????
    Yaf_Registry::get(‘UserTransaction’)->userRequired();
    ???????
    怎么做才是对的呢?

  531. 刘邦
    刘邦 April 9, 2013

    你好,我想在C扩展中实例化php脚本中的一个类,请问如何实现呢?

  532. 雪候鸟
    雪候鸟 April 7, 2013

    @nany 不会啊, 如果你的路由正则能匹配, 就会是regex路由接手, 从你的例子我看不出来为什么会那样… 你可以写个php脚本, 来单独验证你的正则是否正确.

  533. bailu
    bailu April 4, 2013

    在yaf手册http://yaf.laruence.com/manual/yaf.class.request.html看到有方法 getLang 可以获取当前语言,在控制器实际使用时$this->getRequest()->getLang()会报错不存在此方法,后来通过查看第三方扩展提示文件,才知道原来要$this->getRequest()->getLanguage()这样用。(本机是yaf2.2.9)
    这是手册没更新还是我用法错误呢?

  534. 雪候鸟
    雪候鸟 April 3, 2013

    @nany Games_TestModel

  535. nany
    nany April 3, 2013

    hi:
    yaf自动加载的类是有一定规则的
    比如 application/models/Test.php
    但是如果想多加一层就困难了
    比如 application/models/games/Test.php
    这个就不能自动加载了
    虽然可以通过在models目录下创建一个类, 然后 include games目录下的文件实现加载,感觉不专业。。
    yaf有没有办法加载这样的目录方法呢?
    thx~

  536. P人
    P人 April 1, 2013

    class a
    {
    function b()
    {
    echo ‘ok’;
    }
    }
    class b extends a
    {
    }
    new b;
    经测试无输出,按道理b类有一个动作b,那么同名动作在初始化时会调用.为什么无输出呢?

  537. nany
    nany April 1, 2013

    hi:
    你好,还有个路由的问题
    我的ap.ini里面有个正则配置:
    routes.regex.match=”#([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)\.shtml#”
    匹配 http://www.test.com/aaa/aaa.shtml
    打印出来的当前路由是regex
    这个没有问题
    但是当aaa.shtml 变为 index.shtml 的时候,路由直接调用的就是 _default ,忽略配置文件定义的路由了
    而且所有的 index 的页面都是调用 _default路由,而不管你的配置文件,是这样吧?
    如果想index页面指向自定义的路由,有办法没?
    路由对于yaf来说是个很重要的部分,希望能多一些实际的配置例子做参考,辛苦~

  538. 脑子在想啥
    脑子在想啥 April 1, 2013

    你的yaf手册,能给个下载地址么!!!

  539. nany
    nany March 26, 2013

    hi,你好:
    在ap.ini配置路由的时候
    routes.regex.route.action=index
    这里面的action只能写值而不能写变量吗?
    我想通过正则匹配得到action的值,不想写死
    比如:
    routes.regex.route.action=$actionName
    当然,我通过 routes.regex.map 可以动态获取url值,然后在方法里面再动态的指向action,实现我想要的
    只是如果 action 不能动态的变化,那么我写配置的时候可能会有很多个,比如:
    routes.regex1.route.action=music
    routes.regex2.route.action=game


    routes.regexn.route.action=sport
    不知道我讲清楚没?
    thx~

  540. westgr
    westgr March 26, 2013

    @毛毛
    这就是个和0x5C有关的问题。是不是bug可以再讨论,我个人倾向于认为算是一个bug。
    先说为什么你用utf-8编码保存php脚本是不行的:
    windows用的是gbk编码(或者gb18080,gb2312,这方面细节不深究,不影响下面的讨论),所以你在mkdir里传递出去的目录名字符串会被windows当作直接当做gbk编码字符串来使用,如果这个字符串不是gbk编码的,建立出来的目录就会是乱码之类的。php传递到windows的时候是不会做utf-8 => gbk这样的转换的。所以你用utf-8编码保存php脚本,路径字符串里带着中文的时候就会失败。
    然后,据我测试,mkdir($path, 0777, true) 大致上等于:
    //这段代码为示意,不考虑 C:\ 或者 ..\..\ 之类细节。
    $str = ”;
    foreach(explode(‘\\’, $path) as $piece){
    $str = trim($done.’\\’.$piece, ‘\\’);
    mkdir($str, 0777);
    }
    这样对于 $path = ‘aa\\bb\\cc’, 就是等价于:
    mkdir(‘aa’);
    mkdir(‘aa\\bb’);
    mkdir(‘aa\\bb\\cc’);
    这样逐层建立。
    你可以试试 var_dump(explode(‘\\’, ‘_黒]’));
    结果是:
    array(2) {
    [0]=>
    string(2) “_?
    [1]=>
    string(1) “]”
    }
    所以 mkdir(‘_黒]’, 0777, true)实际上是相当于:
    mkdir(‘_?’); //?处实际是0xFC
    mkdir(‘_黒]’); //0xFC加上’\\'(即0x5C),出来“黑”
    因此结果是你会看到两个文件夹,一个叫 _ 一个叫 _黑]
    那么怎么解决这个问题呢?我没想到太好的办法,只能用一些workaround来解决。
    一种可能的办法是用类似上面的foreach循环,但是用 mb_split(‘/\/’, ‘_黒]’) 来替代 explode(‘\\’, ‘_黒]’)。先把相对路径解析出来,比如说按你的例子,d:\abc\_黒]\abc 就先解析成 _黒]\abc 然后用mb_split来分解出这个相对路径的中的各层,然后再逐层 mkdir() 。

  541. phpqinsir
    phpqinsir March 26, 2013

    鸟哥您好。我在使用pcntl_*系列函数fork子进程的时候出现了状态码:11与139的错误。所以,想问一下,会是什么问题呢?下面是关键部分代码:
    // 配合pcntl_signal使用。实际上是pcntl_signal函数调用多少次执行一次记录。
    declare(ticks=1);
    // 子进程数量。
    $max = 20;
    $child = 0;
    $count = 0;
    // 子进程退出时间会调用此函数。
    function sig_handler($sig)
    {
    global $child, $count;
    switch( $sig )
    {
    case SIGCHLD:
    $child–;
    $count++;
    // 因为每次子进程结束都会调用此函数,所以,可以通过此判断指定请求数消耗的时间。
    if ( $count%100 == 0 )
    {
    echo time() . “\n”;
    }
    }
    }
    // 注册子进程退出时调用的函数。
    pcntl_signal(SIGCHLD, “sig_handler”);
    // 初始化一个发送队列。
    $urlQueue = array();
    // 让脚本一直执行下去。
    while( true )
    {
    // 判断队列中是否还有请求URL。
    if ( empty( $urlQueue ) )
    {
    $startTime = time();
    echo $startTime . “\n”;
    $retArray = getMessageQueue( $startTime );
    array_push( $urlQueue, $retArray );
    }
    $child++;
    /**
    * 这个函数会返回两个值,一个为0,表示子进程;一个为正整数表示子进程的id
    * 所以if和else里的两段代码都会执行
    * if里的代码是父进程执行的
    * else里的代码是子进程执行的
    */
    $pid = pcntl_fork();
    if($pid === -1)
    {
    echo “can not fork\n”;
    }
    elseif ($pid)
    {
    //这里是父进程执行的代码
    //如果子进程数超过了最大值,则挂起父进程
    //也就是说while语句不会继续执行
    if ($child >= $max)
    {
    //pcntl_wait($status, 0);
    // 取得子进程结束状态
    $pid = pcntl_wait($status, WUNTRACED);
    if ( !pcntl_wifexited( $status ) )
    {
    echo “\n\n* Sub process: {$pid} exited with {$status}”;
    }
    }
    }
    else
    {
    $url = ‘http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0’;
    // $url = array_shift( $urlQueue );
    // cURL请求这个URL的封装。
    $retData = sendRequestGame( $url );
    $pid = posix_getpid();
    // posix_kill(getmypid(), 9);
    // posix_kill( $pid, 9);
    exit;
    }
    }
    exit(0);

  542. JasonLee
    JasonLee March 21, 2013

    您好 请问您网站右侧的云标签插件叫什么

  543. google.com
    google.com March 19, 2013

    鸟哥你博客真是够慢的!!是不是太穷了租不起服务器

  544. 雪候鸟
    雪候鸟 March 19, 2013

    @alenl 这个, 每个人的路是不同的, 你只能是做你感兴趣的, 至于说弯路, 我倒不觉得我们走过的路有弯路的, 因为你任何的经历都是你的经验, 🙂

  545. alenl
    alenl March 19, 2013

    鸟哥您好:
    我是你粉丝,非常崇拜您。有个问题困惑我很久。我从事PHP2年了 一直认为我只是个应用者。也就是所谓的码农。一直努力提高自己水平。但没好的方法。也明白这是个累积过程。希望你能够知指导下一条相对直的路。避免自己走过多的弯路而对自己从事这行失去信心。希望你您能在百忙中回复。谢谢!

  546. hqq
    hqq March 12, 2013

    请教个问题:
    yaf框架在nginx服务器下,yaf的默认路由不好使?访问报404错误。

  547. Anonymous
    Anonymous March 11, 2013

    请问你是怎么研究PHP源码的,用vs2010能调试其源码吗

  548. kevin
    kevin March 9, 2013

    你好鸟哥,想请教一个关于mcrypt的case:
    我想对上传文件进行加密,用到了mcrypt_generic ( resource $td , string $data )这个函数,因为$data参数是字符串,所以我用file_get_contents取得整个文件的内容,传进$data参数。
    问题是:
    在文件内容较大时(我试的时候是5M),mcrypt_generic出现error,必须在调用之前用init_set(“memory_limit”,”128M”)类似的方法才能顺利通过。但是我做的是个网站,如果请求多的时候,因为占用过多内存,我想必定很慢,或者会崩溃。
    我想到的解决方案是,把文件分成n个block分别加密,然后将这n个block的密文concat起来,写进文件里面。
    但问题又来了:
    这样分成n个block分别加密,因为多次用mcrypt_generic,用时非常长,已经超过30秒。
    我实在想不出办法,麻烦你指点一下。

  549. sacs pliage longchamp
    sacs pliage longchamp March 6, 2013

    Subsequently, after spending several hours on line at very last We’ve uncovered a person that certainly does know what they are discussing thanks quite a lot wonderful submit

  550. 然
    March 5, 2013

    请教一个问题
    为什么当我用in_array()来比较两个数组的时候(把值设置成数组)
    其中代码如下:
    #没有排序的比较
    $a = array(1,2,3,4);
    $b = array(4,3,2,1);
    $c = array($b);
    var_dump(in_array($a, $c));
    // return false
    #有排序的比较
    sort($a);
    sort($b);
    $c = array($b);
    var_dump(in_array($a, $c));
    // return true;
    为什么它一定要让两个数组一模一样才能匹配成功呢?

  551. 然
    March 5, 2013

    请教一个问题
    为什么当我用in_array()来比较两个数组的时候(把值设置成数组)
    其中代码如下:
    #没有排序的比较
    $a = array(1,2,3,4);
    $b = array(4,3,2,1);
    $c = array($b);
    var_dump($a, $c);
    // return false
    #有排序的比较
    sort($a);
    sort($b);
    $c = array($b);
    var_dump($a, $c);
    // return true;
    为什么它一定要让两个数组一模一样才能匹配成功呢?

  552. 廿九
    廿九 March 5, 2013

    Pdo使用IN的时候,如何赋值?
    一般, 我会转换成 IN(?,?,?,?,?)
    后面绑定n个
    有其他好方法吗?

  553. P人
    P人 March 3, 2013

    兄弟,我英语不好,能不能帮我问一下老外,protected定义的动作既然在外部访问不了,为何还要暴露给method_exists呢?
    class a
    {
    protected function b()
    {
    }
    }
    $a = new a;
    var_dump(method_exists($a, ‘b’)); //true
    $a->b(); //Fatal error
    像这样子,我想只确定a类的public,也就是外部能访问的,怎么办?

  554. 雪候鸟
    雪候鸟 March 1, 2013

    @assad 看不出来有啥问题, 有进程超时了, 被杀了, 然后重启了…. 没啥问题… 至于说具体不工作了, 那你要实际分析了, 用strace啊, gdb啊, 看看到底是卡在什么地方了.

  555. 雪候鸟
    雪候鸟 March 1, 2013

    @assad 看不出来有啥问题, 有进程超时了, 被杀了, 然后重启了…. 没啥问题… 至于说具体不工作了, 那你要实际分析了, 用strace啊, gdb啊, 看看到底是卡在什么地方了.

  556. assad
    assad February 28, 2013

    您好,我有一些迷惑,希望能在你这里寻求点帮助。谢谢
    Feb 27 21:17:00.499656 [WARNING] fpm_children_bury(), line 215: child 7857 (pool default) exited on signal 15 SIGTERM after 4617.523167 seconds from start
    Feb 27 21:17:00.500542 [NOTICE] fpm_children_make(), line 352: child 16539 (pool default) started
    Feb 27 21:17:02.323652 [WARNING] fpm_request_check_timed_out(), line 158: child 7889, script ‘/data0/www/html/gonghui/syjh/interface.php’ (pool default) execution timed out (90.075612 sec), terminating
    Feb 27 21:17:02.323708 [WARNING] fpm_request_check_timed_out(), line 158: child 7867, script ‘/data0/www/html/gonghui/syjh/interface.php’ (pool default) execution timed out (90.034981 sec), terminating
    Feb 27 21:17:02.323767 [WARNING] fpm_request_check_timed_out(), line 158: child 7663, script ‘/data0/www/html/gonghui/syjh/interface.php’ (pool default) execution timed out (90.068515 sec), terminating
    Feb 27 21:17:02.325526 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
    Feb 27 21:17:02.325572 [WARNING] fpm_children_bury(), line 215: child 7663 (pool default) exited on signal 15 SIGTERM after 4619.514081 seconds from start
    Feb 27 21:17:02.327473 [NOTICE] fpm_children_make(), line 352: child 16552 (pool default) started
    Feb 27 21:17:02.327556 [WARNING] fpm_children_bury(), line 215: child 7867 (pool default) exited on signal 15 SIGTERM after 4619.341095 seconds from start
    Feb 27 21:17:02.329460 [NOTICE] fpm_children_make(), line 352: child 16553 (pool default) started
    Feb 27 21:17:02.329529 [WARNING] fpm_children_bury(), line 215: child 7889 (pool default) exited on signal 15 SIGTERM after 4619.326025 seconds from start
    这是一段php-fpm日志,重复出现,持续了大概几分钟,php-fpm就不工作了。
    内核参数已做优化,php-fpm参数也做到了最大,服务器是16G内存,8核处理器,php-cgi的进程一般在1200左右
    但是依然会出现php-fpm挂掉的情况。能不能帮助一下,帮我解决一下啊!

  557. 毛毛
    毛毛 February 26, 2013

    感谢 westgr 的回复
    看了那个帖子,不过我的需求和那篇文章有点不同,恐怕那篇说的不太有用
    首先由于某些原因,我必须保持php版本在 5.2.x
    另外我的php脚本的功能是读取windows某个指定路径,比如 d:\abc
    然后在另一盘符下建立相同的目录结构,比如在 F:\ 下也创建一个 f:\abc ,d:\abc下的所有目录结构在 f:\abc 下有同样的结构
    如果此时d:\abc下有这么一个目录 d:\abc\_黒] , 然后调用mkdir,同时指定mkdir的第三个参数为true的话,就会重现这个现象
    ps: 我在php 5.3.14 环境下,将脚本保存为utf-8编码,发生了意料之外的情况
    d:\abc\_黒] 这个目录,会被is_dir() 函数认为不是一个目录,而且创建目录的时候,也有奇怪的现象,调用opendir()的时候,php甚至会给出一个warning

  558. 阿熊-菜鸟工程师
    阿熊-菜鸟工程师 February 22, 2013

    博主,
    我一直想将db的操作透过一些类别来标准化,因此自己开发了一支pdo class,
    但苦于技术太菜,希望你能提供点建议,来提醒我忽略的地方, 来提升这只class的可用性以及效能
    http://opl.me/pdo.html

  559. kkfd008
    kkfd008 February 21, 2013

    __set()对protected或private属性进行赋值操作
    __get()获取 protected 或 private的值
    我想做做一个扩展
    eg: ___get() 和 ___set() 对public属性也有效果。
    不知道怎么处理。从那里入手,请指教

  560. zk
    zk February 18, 2013

    鸟哥,我想把目录结构改成下面这样的:不知道怎么去改配置,可以给我回下吗?十分感谢!1812103704@qq.com,比较急
    www站点内
    SHOPING_MALL
    |- index.php //入口文件
    |- .htaccess //重写规则
    |+ css
    |+ img
    |+ js
    OFFICIAL_SITE
    |- index.php //入口文件
    |- .htaccess //重写规则
    |+ css
    |+ img
    |+ js
    COMMON
    |+ css
    |+ img
    |+ js
    www站点外
    + conf
    SHOPING_MALL
    |- application.ini //配置文件
    OFFICIAL_SITE
    |- application.ini //配置文件
    COMMON
    |- application.ini //配置文件
    + application
    |+ controllers
    SHOPING_MALL
    |- Index.php //默认控制器
    OFFICIAL_SITE
    |- Index.php //默认控制器
    COMMON
    |- application.ini //配置文件
    |+ views
    SHOPING_MALL
    |+ index //控制器
    |- index.phtml //默认视图
    OFFICIAL_SITE
    |+ index //控制器
    |- index.phtml //默认视图
    COMMON
    |+ index //控制器
    |- index.phtml //默认视图
    |+ modules //其他模块
    |+ library //本地类库
    |+ models //model目录
    SHOPING_MALL
    OFFICIAL_SITE
    COMMON
    DATABASE
    ALIPAY
    ……
    |+ plugins //插件目录

  561. 毛毛
    毛毛 February 14, 2013

    博主你好,今天发现一个php的mkdir函数的问题,想来想去,觉得这个既算bug又不算bug,发来给博主看看
    我的环境是 winxp php 5.2.13
    mkdir() 函数的第三个参数如果设定为 true(即递归创建目录),而第一个参数中有汉字,而且某些汉字的十六进制代码中包含0x5C ,那么会发生预期以外的结果,比如创建了不止一个目录
    比如这段代码
    mkdir(“S:\\_黒]”, 0777, true);
    注意这里的“黒”,16进制是 0xFC5C

  562. 毛毛
    毛毛 February 14, 2013

    博主你好,今天发现一个php的mkdir函数的问题,想来想去,觉得这个既算bug又不算bug,发来给博主看看
    我的环境是 winxp php 5.2.13
    mkdir() 函数的第三个参数如果设定为 true(即递归创建目录),而第一个参数中有汉字,而且某些汉字的十六进制代码中包含0x5C ,那么会发生预期以外的结果,比如创建了不止一个目录
    比如这段代码
    注意这里的“黒”,16进制是 0xFC5C

  563. 雪候鸟
    雪候鸟 February 7, 2013

    @king 你是不是有俩套PHP? 一般这个名字是php.ini中的配置session.name 决定的

  564. 雪候鸟
    雪候鸟 February 7, 2013

    @sun 新年快乐, 看你想要学习哪方面了, 如果是PHP的话, 有一本还不错.

  565. php 如何生成chm文件,有什么好的办法吗?
    php 如何生成chm文件,有什么好的办法吗? February 7, 2013

    需要将一些html网页,生成chm帮助文档,在php下不知道该怎么搞,我知道有phpdocumentor可以不过那个好像要什么库

  566. sun
    sun February 7, 2013

    您好,我是非计算机专业的学生,想做it行业,您能推荐一些书给我么,不胜感激…
    最后祝您,新年快乐!

  567. king
    king February 6, 2013

    你好,问您一个问题啊!
    我们的服务器环境里面我在输出$_Cookie的时候,“PHPSESSID”这个变量变成“,_PHPSESSID”,导致session失效,以前我也遇到过一次这个问题,不知道这个是属于php配置问题还是哪里的问题?

  568. GGK
    GGK February 4, 2013

    哦原来现在Taint不支持5.4。

  569. GGK
    GGK February 4, 2013

    yaf现在能不能只用一次编译为php静态扩展我不知道,之前不能,提前编译一次php后是可以的。Taint不能编译为静态扩展。

  570. 陆楚良
    陆楚良 January 31, 2013

    问下哈,在别的语言里(比如python),有样子的语法:
    a,b = 1,2
    a,b = [1,2]
    好像是叫多元赋值吧,但是换到php
    $a,$b = 1,2;
    $a,$b = array(1,2);
    这样就不支持了,个人感觉这是很好用的语法啊
    比如某个函数返回的是数组的时候,用这种写法就很简洁:
    (python)
    def f():
    return 1,2
    a,b = f();
    我想问的是php是什么原因不支持这种语法呢?以后的版本会不会增加对这种语法的支持?

  571. 码农甲
    码农甲 January 29, 2013

    能告诉我php_pcre_replace这个函数的参数怎么用吗?我的模块里想把string中的A转成B,用这个函数应该怎么样写?

  572. terry
    terry January 19, 2013

    您好,我是一名php的粉丝。 最近在分析源码的时候,遇到一个问题,可以帮我解答吗? 具体是这样的。
    php的编译,其实是通过compile_file进行,在Zend\zend_language_scanner.c中定义,按照我的理解,
    这个函数最终是返回zend_op_array数组的, 但是在这个函数中我实在找不出来是哪个具体的函数返回这个zend_op_array的。
    进一步分析,只能怀疑是:
    compiler_result = zendparse(TSRMLS_C);
    这句,但是我找遍了源码,也没有看到zendparse这个函数。
    您可以告诉我是哪个具体的函数返回的吗?不胜感激!
    祝:工作顺利!

  573. 李惟
    李惟 January 18, 2013

    php 编译安装时少输入编译参数。安装完成后还能补充嘛?请问怎么做?
    比如我编译安装少了参数
    ‘–with-readline=/usr’
    安装完成后,我能否补充这项呢?

  574. xu
    xu January 7, 2013

    Laruence,您好!
    我请教你一个简单的问题,PHP中的mysql_fetch_row()函数,手册上的描述是从结果集中取得一行作为枚举阵列,我对“枚举阵列”这个词很疑惑,到底什么才是枚举阵列呢?
    麻烦你能够解析一下吗?
    我网络上了找资料看了,似乎只有c,c++中才会出现enum,array.
    麻烦你了!谢谢

  575. SUSISOY
    SUSISOY January 4, 2013

    hello 啊前辈,关于APC的一个机制,另人头疼,害我不浅,让我找了好半天的问题,后来发现这可能是APC内部工作机制引起的,也许不算是 BUG,所以就没再纠结,不过此机制不知算不算合理。就是5个进程频繁针对同一个键进行 apc_store() 或 apc_add() 时,成功率仅有3%-5%。
    本想着升级 APC 试试看,结果发现 APC 在元旦期间升级至 3.1.14 版了,changelog 中看到 Laruence 的贡献不小,包括你提到过的 include_once_override 改进,在此向您送上真挚的祝福,严重感谢你对我等码农们的格外支持。

  576. bluebird
    bluebird January 3, 2013

    HI.
    你好,我发现APC一个问题,当然这个问题也许你们已经发现了,我只是在这里说一下,如果以后有人遇到这个问题,希望他能在这里找到答案。
    我用APC已经很长时间了,非常好用,以前的项目都没有用Smarty,最近帮朋友弄一个东西,需要用到Smarty,发现一个很奇怪的问题,打开一个用smarty”绘制”的页面,第一次是可以的,第二次就报错,并且错误消息里有乱码。明显不是PHP代码报出来的错误,因为我有自己写几个扩展,我以为是我的某个扩展BUG了,我把我自己的SO文件一个一个取消,还是有问题。最后我再取消第三方的SO文件,memcached, libevent, igbinary, hidef取消了还是有问题。 当我取消APC扩展时,程序就一下子正常了。后来我就集中全力去找APC的问题,后来我加上配置
    [APC]
    apc.filters = “Smarty,smarty,.tpl”
    程序也正常了。另外,不知道 apc.serializer = igbinary 这个选项是否真的有用,我测试过,好像没下作用。

  577. bluebird
    bluebird January 3, 2013

    HI.
    你好,我发现APC一个问题,当然这个问题也许你们已经发现了,我只是在这里说一下,如果以后有人遇到这个问题,希望他能在这里找到答案。
    我用APC已经很长时间了,非常好用,以前的项目都没有用Smarty,最近帮朋友弄一个东西,需要用到Smarty,发现一个很奇怪的问题,打开一个用smarty”绘制”的页面,第一次是可以的,第二次就报错,并且错误消息里有乱码。明显不是PHP代码报出来的错误,因为我有自己写几个扩展,我以为是我的某个扩展BUG了,我把我自己的SO文件一个一个取消,还是有问题。最后我再取消第三方的SO文件,memcached, libevent, igbinary, hidef取消了还是有问题。 当我取消APC扩展时,程序就一下子正常了。后来我就集中全力去找APC的问题,后来我加上配置
    [APC]
    apc.filters = “Smarty,smarty,.tpl”
    程序也正常了。另外,不知道 apc.serializer = igbinary 这个选项是否真的有用,我测试过,好像没下作用。

  578. bluebird
    bluebird January 3, 2013

    HI.
    你好,我发现APC一个问题,当然这个问题也许你们已经发现了,我只是在这里说一下,如果以后有人遇到这个问题,希望他能在这里找到答案。
    我用APC已经很长时间了,非常好用,以前的项目都没有用Smarty,最近帮朋友弄一个东西,需要用到Smarty,发现一个很奇怪的问题,打开一个用smarty”绘制”的页面,第一次是可以的,第二次就报错,并且错误消息里有乱码。明显不是PHP代码报出来的错误,因为我有自己写几个扩展,我以为是我的某个扩展BUG了,我把我自己的SO文件一个一个取消,还是有问题。最后我再取消第三方的SO文件,memcached, libevent, igbinary, hidef取消了还是有问题。 当我取消APC扩展时,程序就一下子正常了。后来我就集中全力去找APC的问题,后来我加上配置
    [APC]
    apc.filters = “Smarty,smarty,.tpl”
    程序也正常了。另外,不知道 apc.serializer = igbinary 这个选项是否真的有用,我测试过,好像没下作用。

  579. P人
    P人 December 29, 2012

    现在php写的插件只能是动态载入,如pear,用include载入,不能像pecl这样嵌进去.如果能用PHP来写pecl这样子可以嵌进核心的就好了,鸟哥有没有这想法?

  580. 海燕
    海燕 December 25, 2012

    你好 网站链接合作 想购买贵网站的友情链接呢 QQ:352703921

  581. 小恶魔
    小恶魔 December 17, 2012

    我想要一个window 下的yaf.dll,这个在哪能下载呢,php 5.3.10+的

  582. 小恶魔
    小恶魔 December 17, 2012

    我想要一个window 下的yaf.dll,这个在哪能下载呢,php 5.3.10+的

  583. csynine
    csynine December 12, 2012

    我已经搞定了,谢谢!

  584. csynine
    csynine December 12, 2012

    我已经搞定了,谢谢!

  585. csynine
    csynine December 12, 2012

    请教一下鸟哥:yaf框架是否有个debug模式,打开以后,在应用yaf框架时,可以打印出yaf的一次请求的日志记录?这样方面学习、使用、和研究yaf框架。

  586. csynine
    csynine December 12, 2012

    请教一下鸟哥:yaf框架是否有个debug模式,打开以后,在应用yaf框架时,可以打印出yaf的一次请求的日志记录?这样方面学习、使用、和研究yaf框架。

  587. sesehai
    sesehai December 3, 2012

    鸟哥你好,有个问题请教您:
    APC Version 3.1.12 + PHP Version 5.4.4
    配置:
    apc.cache_by_default 1
    apc.shm_size 32
    apc.shm_segments 1
    但是通过apc.php检测结果:
    Cached Variables 是正常的,可以缓存
    Cached Files 0 ( 0.0 Bytes)
    一直都缓存不了,不知道是什么原因?

  588. laruence
    laruence November 30, 2012

    @Rob I wrote you via mail 🙂

  589. Rob
    Rob November 29, 2012

    Hi! I use YAF PHP and APC everyday. So I am a huge fan of you!
    I had one question for YAF that I just can not figure out.
    If i am in a controller action, like indexAction(), but I want to jump to a different action, how do I do that?
    function indexAction() {
    if (!$loggedIn) {
    $this->loginAction();
    } else {
    }
    }
    That code will still render the index view.
    If I do $this->_view->display(‘login.phtml’); it will not run my layout plugin.
    Any advice?
    Thank you so much!

  590. Rob
    Rob November 29, 2012

    Hi! I use YAF PHP and APC everyday. So I am a huge fan of you!
    I had one question for YAF that I just can not figure out.
    If i am in a controller action, like indexAction(), but I want to jump to a different action, how do I do that?
    function indexAction() {
    if (!$loggedIn) {
    $this->loginAction();
    } else {
    }
    }
    That code will still render the index view.
    If I do $this->_view->display(‘login.phtml’); it will not run my layout plugin.
    Any advice?
    Thank you so much!

  591. yhg
    yhg November 27, 2012

    鸟哥,您好,你可以简单属下 array_count_values 的实现方法吗?谢谢

  592. 呼吸二氧化碳
    呼吸二氧化碳 November 23, 2012

    这算bug么?
    $test = new stdClass();
    $test->a = function(){echo ‘hello’;};
    $test->a();
    报:
    Fatal error: Call to undefined method stdClass::a()
    这样可以
    $test = new stdClass();
    $test->a = function(){echo ‘hello’;};
    $t = $test->a;
    $t();

  593. 呼吸二氧化碳
    呼吸二氧化碳 November 23, 2012

    这算bug么?
    a = function(){echo ‘hello’;};
    $test->a();
    ?>
    报:
    Fatal error: Call to undefined method stdClass::a()
    这样可以
    a = function(){echo ‘hello’;};
    $t = $test->a;
    $t();
    ?>

  594. 刘纪君
    刘纪君 November 12, 2012

    Laruence,我现在已经把一部分项目转移到yaf下面了,能不能给我发些关于Yaf项目部署方面的指导还有优化方面的事情,我的qq是:511520590.

  595. staunch
    staunch November 11, 2012

    大师,我一直有个疑问,PHP为什么不实现多线程?

  596. staunch
    staunch November 11, 2012

    大师,我一直有个疑问,PHP为什么不实现多线程?

  597. 路人
    路人 November 8, 2012

    前輩您好,
    你最近一篇文章讓我認識到PHP一些問題 ( http://weibo.com/1170999921/ylgFcpe1f )。
    因為比較常寫C/C++,
    所以在 PHP 方面常常混淆…
    我想說的是,
    在 PHP 裡,
    除了 Function 之外,
    foreach, for, while, switch 等等,
    他們並沒有形成閉包或者nest scope嗎?
    foreach( $a as $b )
    {
    $c = 1;
    }
    echo $c; // output: 1
    一定要 unset 才能確保安全性是嗎?

  598. Baob
    Baob November 7, 2012

    我想问下鸟哥,对于数据库抽象类,类似PDO,你自己在开发中是否有在用呢?对于它你自己有什么想说的,貌似许多PHPer开发多年都没有使用过,或者在正式项目中使用,是不是服务器支持的问题呢?我想在团队中推广使用.感谢了.

  599. ljj
    ljj November 3, 2012

    鸟哥我请教一下为何用pcntl_signal时,前面都要使用declare函数??

  600. welf
    welf November 2, 2012

    鸟哥,有两个问题想问一下!
    1.
    echo true; //1
    echo false //为什么没有输出呢?
    2.
    关于unicode
    $str = “\u4E25\u4E25”;
    function unicode_utf8($str) {
    $reg = ‘/\\\u([\w]+)/i’;
    preg_match_all($reg, $str, $arr);
    if(!empty($arr)) {
    //这里只拿第一个unicode判断
    $code1 = base_convert(substr($arr[1][0], 0, 2), 16, 10);
    $code2 = base_convert(substr($arr[1][0], 2), 16, 10);
    $code = chr($code1). chr($code2);
    echo iconv(‘UCS-2’, ‘UTF-8’, $code);
    }
    }
    为什么截取2个字节转换成10进制后再连接????

  601. noname
    noname November 2, 2012

    在windows环境下如果使用apache2.2.22做web服务器,那么php的版本我应该选择线程安全,还是非线程安全呢?

  602. 常青
    常青 November 2, 2012

    强烈要求作者写本书介绍PHP内核机插件开发相关,方便国人学习啊!

  603. 雪候鸟
    雪候鸟 October 31, 2012

    @bin pang 静态变量在语法分析的时候, 会存入一个静态符号表.
    虽然你if(0), 但是实际上他还是被语法分析了, 所以在静态符号表中有一个a, 一个b
    只不过, $a和a做了关联, b没做而已.

  604. yinhongguang
    yinhongguang October 29, 2012

    pdo query 的时候执行带分号的 SQL 直接返回false
    这是php 的BUG吗?
    谢谢!

  605. bin pang
    bin pang October 28, 2012

    鸟哥,有个问题困扰了很久,能从内核方面讲解下吗?谢谢
    static $a = 12;
    if(0) {
    static $b = 11;
    static $a = 11111;
    }
    echo $a.’———-‘.$b;

  606. 丁丁
    丁丁 October 25, 2012

    鸟哥,求助!
    public function a($page=0,$orderby=array(‘id’=>’asc’))
    {
    $statement->bindParam($page, $orderby);
    }
    在bindParam方法里得到$orderby数组asc就成乱码了
    var_dump($orderby[‘id’])输出:string(3) “”

  607. phpstone
    phpstone October 25, 2012

    @雪候鸟:问题已经解决了,下载了一个最新php5.4.8安装报错了,就重新安装了一下原来的php5.2.9,奇怪启动的时候就不报错了!同样感谢你的回复!

  608. 雪候鸟
    雪候鸟 October 25, 2012

    @phpstone PHP的版本? 使用了什么非官方扩展么?

  609. phpstone
    phpstone October 25, 2012

    您好,我有个问题想请教一下:
    /usr/local/apache2/bin/apachectl stop 以后
    报错如下:
    httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol: spl_ce_RuntimeException
    不知道可能是哪方面的原因,望不吝赐教!多谢!

  610. Junzhu
    Junzhu October 24, 2012

    我有一台服务器是通过路由器端口隐射的80端口,我用以下方法获取客户端IP,但获取的全部是路由器的IP(192.168.0.1),请问有什么办法可以在服务器是端口映射访问的情况下获取客户端的真实公网IP
    function getIp() {
    global $ip;
    if (getenv(“HTTP_CLIENT_IP”))
    $ip = getenv(“HTTP_CLIENT_IP”);
    else if (getenv(“HTTP_X_FORWARDED_FOR”)) //取得客户端IP,如果没有使用了代理服务器,则取回值为空
    $ip = getenv(“HTTP_X_FORWARDED_FOR”);
    else if (getenv(“REMOTE_ADDR”)) //取得客户端IP,如果使用了代理服务器,则取得代理服务器IP
    $ip = getenv(“REMOTE_ADDR”);
    else
    $ip = “Unknow”;
    return $ip;
    }

  611. Lein
    Lein October 22, 2012

    我写了一个扩展,这个扩展提供一个php函数(PHP_FUNCTION):用户传入一个函数和参数,我开启一个新线程,在这个线程中调用这个函数;
    当我的扩展在php配置开启了线程安全(–enable-maintainer-zts)时,新线程中调用用户传入的函数时会因为 !EG(active) 为true而调用失败。
    注释的说明是:executor is already inactive;在.php文件中我用sleep,等待线程调用那个函数,这个executor怎么会不活跃了呢?
    谢谢

  612. 雪候鸟
    雪候鸟 October 22, 2012

    @istrone 函数的符号表已经实现了lazy loading, 也就是说不一定存在. 需要: zend_rebuild_symbol_table , 你可以在PHP代码中grep这个函数的使用

  613. istrone
    istrone October 21, 2012

    我写了一个PHP扩展的函数,来判断当前符号表中是否存在一个$foo的变量,代码如下:
    PHP_FUNCTION(sample_isset)
    {
    zval **fooval;
    if(zend_hash_find(EG(active_symbol_table),”foo”,sizeof(“foo”),
    (void **) &fooval) == SUCCESS){
    php_printf(“Got the value of $foo!”);
    } else {
    php_printf(“$foo is not defined!”);
    }
    }
    在全局代码部分,测试是通过的,但是在某个函数内部调用就发生了错误,下边是出错的代码:
    hello();
    function hello(){
    sample_isset();
    }
    求解释出错的原因

  614. 刘惠庭
    刘惠庭 October 20, 2012

    hi 鸟哥,我遇到了一个问题:
    PHP函数iconv,gbk向utf8转换:iconv(‘UTF-8′,’gbk’,$str);
    $str是gbk的字符串,如果$str包含\uF3xx的字符,则会转化失败。
    反馈信息:
    Notice: iconv(): Detected an illegal character in input string
    比如:”篌”,”簋”,”笈”,”高”(GBK汉字)
    $str1 = “李凭箜篌引”;
    $str2 = “史上最全簋街美食攻略”;
    $str3 = “武功秘笈:降龙十八掌”;
    $str4 = “今天我和小明高高兴兴去上学”;
    其中\uF3按照unicode到UTF8的转换后是\uEF,刚好是bom的第一个字节,我猜想iconv把它当初bom处理了。
    想请教一下你导致这个问题的根本原因是是什么?

  615. tywei
    tywei October 17, 2012

    哥,弱弱的问一下,,YAF扩展一切安装都正常但还是出现以下错误:(注:我用的是wamp)
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    More information about this error may be available in the server error log.
    这是apache下的
    [Wed Oct 17 22:39:20 2012] [alert] [client 127.0.0.1] F:/www/yaf/.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

  616. 雪候鸟
    雪候鸟 October 16, 2012

    @nany 应该是Yaf\Request\Http, Yaf的类名转换成命名空间的规则是, 下划线变成slash, 不过当最后一个字段是PHP的关键词的时候,比如Abstract,Static, 则不做替换, 比如Yaf_Request_Abstract -> Yaf\Request_Abstract.

  617. 雪候鸟
    雪候鸟 October 16, 2012

    @nany 应该是Yaf\Request\Http, Yaf的类名转换成命名空间的规则是, 下划线变成slash, 不过当最后一个字段是PHP的关键词的时候,比如Abstract,Static, 则不做替换, 比如Yaf_Request_Abstract -> Yaf\Request_Abstract.

  618. nany
    nany October 15, 2012

    hi,你好
    还是命名空间的问题:
    两行代码,都在controller下的同一个方法里面
    31 $a = Yaf\Registry::get(‘config’);
    32 print_r($a);
    33 $a = Yaf\Request_Http::getPost(“name”);
    报错:
    Warning: Yaf\Loader::autoload(): You should not use ‘Yaf_’ as class name prefix…
    第一行是可以正常输出结果的,最后一行就不行了,很奇怪.

  619. 可爱的小猪猪
    可爱的小猪猪 October 15, 2012

    php读取压缩包,在rar中有判断是否是目录这个函数RarEntry::isDirectory
    但是在zip中却没有,有没有考虑过增加这个函数呢?

  620. nany
    nany October 15, 2012

    hi,你好
    命名空间没有开启的话是可以直接 new Exception()
    开启的情况下,我换了个方法,直接继承 Yaf\Exception 😛
    good job~

  621. nany
    nany October 15, 2012

    hi,你好
    php版本:PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli)
    Exception 也没有写错~
    我先测试一下是不是由于命名空间导致的?

  622. 雪候鸟
    雪候鸟 October 15, 2012

    @nany Exception是内建类, 不会走自动加载啊. 你的php是什么版本? 另外, 你exception注意拼写别错了

  623. nany
    nany October 15, 2012

    hi,你好
    我如果要继承 Exception 类,会提示:
    Warning: Yaf\Loader::autoload(): Could not find script /var/www/yaf/lib/Exception.php …
    如何正确的解决继承 php 本身的类呢?
    class customException extends Exception
    直接 new Exceptiom 也会出现相同的错误~

  624. nany
    nany October 15, 2012

    hi,你好
    我如果要继承 Exception 类,会提示:
    Warning: Yaf\Loader::autoload(): Could not find script /var/www/yaf/lib/Exception.php …
    如何正确的解决继承 php 本身的类呢?
    class customException extends Exception
    直接 new Exceptiom 也会出现相同的错误~

  625. 霡霂
    霡霂 October 13, 2012

    仰慕很久了。
    最近在学习nginx,环境是windows 7(貌似大家都不赞成在Win下)。查阅PHP5.4的文档,貌似php-fpm已经加入到了php的核心代码中。所以想尝试nginx+PHP(php-fpm)。
    请问
    1、不借助cygwin,在windows下可行吗。
    2、如果可行,配置文件该怎么写,比如user和group

  626. Mr.g
    Mr.g October 12, 2012

    鸟哥,有个问题困扰很久了,不知道您是否研究过CI框架,我在使用CI框架开发的时候,需要用到一个多参数的查询功能,于是我使用了诸如list/movie?aid=12&cid=34&year=2012%pid=2 这样的URL,现在我想对这样的url进行伪静态设置,更改后的格式为
    list/movie/aid-12-cid-34-year-2012-pid-2.html
    CI本身的路由并不支持动态参数,于是只能通过APACHE的rewrite 进行重写,但貌似这两者似乎有一定的冲突,重写之后就一直提示404,这个问题请教了很多地方,也困扰了我很久,希望鸟哥能够帮忙解决下,十分感谢~

  627. Bear`
    Bear` October 11, 2012

    老兄,请教下,这问题何解?
    $num = 19446.065;
    echo round($num,2).”|”; //结果是 19446.06
    $num = 46.065;
    echo round($num,2);//结果是 46.07
    谢谢

  628. 乔成磊
    乔成磊 October 10, 2012

    请问YAF怎么忽略路径中的大小写啊?

  629. 雪候鸟
    雪候鸟 October 10, 2012

    @nany 你使用了自定义路由协议么? 或者你有调用$request->setModuleName来更改module么?

  630. nany
    nany October 10, 2012

    hi,你好:
    我遇到了一个奇怪的问题,用默认视图的时候是不会出现这个问题
    当我用了Smarty的时候,有时候单独只刷新主页有时候就会报错:
    PHP Fatal error: Uncaught exception ‘Yaf_Exception_DispatchFailed’ with message ‘Unexcepted a empty module name’ in /var/www/mqikan/adminclient/public/index.php:16\nStack trace:\n#0 /var/www/mqikan/adminclient/public/index.php(16): Yaf_Application->run()\n#1 {main}\n thrown in /var/www/mqikan/adminclient/public/index.php on line 16
    再刷新几次就好了,总是时有时无的。
    其他页面也是如此,总是间歇性的出现此类错误
    我怀疑是smarty的缓存问题,当我清空cache文件夹的时候再刷新是一定没有问题的,等有了缓存就不好说了
    有什么好的解决的思路吗?谢谢了
    ps:Smarty没有任何改动,yaf也是按照手册最简单的搭建起来的。

  631. jun
    jun October 10, 2012

    鸟哥可以分享些初学php内核的建议吗???和如何去学习php内核??

  632. jun
    jun October 10, 2012

    鸟哥可以分享些初学php内核的建议吗???

  633. Aries
    Aries October 9, 2012

    鸟哥,到了php5.4+以后,引用传递怎么办?
    func(&$var);
    function func(&$var){
    //对$var的一系列运算处理
    }
    但到了php5.4以后的版本,对数组和对象的引用传递发生了变化,是这样的:
    func($var); //注意这里,调用函数的时候已经没有了&,但定义的时候还有
    function func(&$var){
    //对$var的一系列运算处理
    }
    吐槽:要加&就全加,要不加就全不加,一个不加&一个加&,还嫌PHP的语法不够莫名其妙吗?如果PHP连向前兼容的优点都没了,还有什么可圈可点的地方?这一点小变化能让以前的项目折腾人好久时间

  634. Aries
    Aries October 9, 2012

    鸟哥,到了php5.4+以后,引用传递怎么办?
    func(&$var);
    function func(&$var){
    //对$var的一系列运算处理
    }
    但到了php5.4以后的版本,对数组和对象的引用传递发生了变化,是这样的:
    func($var); //注意这里,调用函数的时候已经没有了&,但定义的时候还有
    function func(&$var){
    //对$var的一系列运算处理
    }
    吐槽:要加&就全加,要不加就全不加,一个不加&一个加&,还嫌PHP的语法不够莫名其妙吗?如果PHP连向前兼容的优点都没了,还有什么可圈可点的地方?这一点小变化能让以前的项目折腾人好久时间

  635. FatrBaby
    FatrBaby October 1, 2012

    1.最近升级以前做的一个功能,
    从数据库中读取大量url,然后
    用curl去百度查询这些url是否
    被收录,再更新数据库中的收录
    状态。现在是循环一条一条地
    去查询,查询3000多条大概需
    要20多分钟,消耗了大量的服
    务器资源。我在考虑用curl批
    量操作的话,需要对数组进行
    切割、调度,效率同样会很低
    下。请问除了用其他语言做扩
    展之外(因为我暂时没有这个
    能力),有没有什么办法提高
    效率?
    2.在网上广泛地采集页面的标题,
    由于不是固定的页面采集,所以
    字符编码成了问题。现在是先检
    测字符串的ASSII编码,然后根
    据检测的结果,对字符串进行
    编码转换(转换成utf-8编码),
    但这种检测并非百分百准确的。
    请问针对字符串编码,有没有更
    好的办法?
    谢谢,祝您有一个愉快的假日!

  636. 鬼鬼
    鬼鬼 September 29, 2012

    鸟哥 请教个问题,逐行测PHP的性能这个可以做到么?

  637. nany
    nany September 29, 2012

    hi,你好
    关闭默认的模板:
    Yaf_Dispatcher::getInstance()->disableView();
    这个我已经知道了~
    关于Smarty的include问题再帮我关注一下吧。貌似网上有很多受这个困扰的同学

  638. nany
    nany September 29, 2012

    hi,你好
    谢谢你的解答,路由这块已经没问题了
    现在有个smarty整合的问题
    由于yaf的autoload机制,smarty的很多类都被 ‘_’ 分解成目录形式的文件,导致找不到类文件
    目前的解决办法就是直接 include 进来
    还有整合完毕以后,yaf的默认模板机制还会包含对应的默认模板(.phtml)文件,也就是说显示的smarty页面(.tpl)最下方还会有默认模板(.phtml)的显示内容
    现在解决的办法就是建立对应默认模板(.phtml) 空文件
    都是土办法,希望你那边能有个更好的解决办法~
    谢谢了~

  639. zencart
    zencart September 29, 2012

    到博主这里学到不少….

  640. nany
    nany September 27, 2012

    hi,你好
    最近在研究yaf,现在遇到一个问题
    我在ubuntu12下,配置了application.ini里面的路由信息:
    routes.regex.type=”regex”
    routes.regex.route=”#blog/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)#”
    routes.regex.default.controller=blog
    routes.regex.default.action=page
    routes.regex.map.1=id
    routes.regex.map.2=cate
    页面会输出:Warning: Yaf_Router::addConfig(): Unable to initialize route named ‘regexs’
    Bootstrap.php 代码里面输出的 $router->getRoutes() 输出只有 :Array ( [_default] => Yaf_Route_Static Object ( ) )
    路由设置里面的rewrite部分也是同样的错误
    网上搜索了一下,参见:http://www.yafphp.com/thread-10-1-1.html 貌似win下没有问题
    现在的暂时解决方案就是直接在代码里写正则:
    $route = new Yaf_Route_Regex(
    “#blog/([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)#”,
    array(‘controller’=>’blog’,’action’=>’page’),
    array(1=>’id’,2=>”cate”)
    );
    $router->addRoute(‘regex’, $route);
    不知是不是bug?
    我装的是yaf-2.2.2、PHP 5.3.10-1ubuntu3.4
    thx~

  641. 北海情书
    北海情书 September 25, 2012

    刚用yaf打印出hello world,感觉很好。

  642. SivaCoHan
    SivaCoHan September 24, 2012

    求教个问题。
    我使用的是Ubuntu 10.04
    apt安装的php5,apache2
    通过软链接,将~/workspace链接到了/var/www目录下。
    开发使用CI框架。workspace下有多个项目。除了monstercms
    之外全部正常。
    monstercms不正常表现在。
    在浏览器访问localhost/workspace/monstercms/会将index.php下载,文件名为download。
    重命名monstercms为monstercms1该问题就消失了。或者直接访问localhost/workspace/monstercms/index.php也无此问题。
    目录下不存在.htaccess。请问,由哪些原因可能造成此问题呢?

  643. SivaCoHan
    SivaCoHan September 24, 2012

    求教个问题。
    我使用的是Ubuntu 10.04
    apt安装的php5,apache2
    通过软链接,将~/workspace链接到了/var/www目录下。
    开发使用CI框架。workspace下有多个项目。除了monstercms
    之外全部正常。
    monstercms不正常表现在。
    在浏览器访问localhost/workspace/monstercms/会将index.php下载,文件名为download。
    重命名monstercms为monstercms1该问题就消失了。或者直接访问localhost/workspace/monstercms/index.php也无此问题。
    目录下不存在.htaccess。请问,由哪些原因可能造成此问题呢?

  644. 雪候鸟
    雪候鸟 September 24, 2012

    @istrone 因为在构造函数中有一些关键逻辑必须要执行, 而如果容许覆盖, 用户可能会忘记调用parent::construct, 不过, 你还是可以写你自己的init()方法, 这个方法会在constrcut以后被调用

  645. istrone
    istrone September 24, 2012

    关于yaf的一个问题。
    当我在library中继承Yaf_Controller_Abstract的时候,想要在构造函数中执行一些必要的逻辑,然后出现了这个错误。
    Fatal_error Fatal_error: Cannot override final method Yaf_Controller_Abstract::__construct() in application/libraries/Bcontroller.php on line 14:
    不明白,为什么要将构造函数设置成禁止覆盖呢?

  646. Anonymous
    Anonymous September 14, 2012

    你好,我是猎头Sandy,一直听说您在业界的成绩,现在我们在给美国的游戏公司Kabam在招聘PHP工程师,工作地点在北京,可以不是很资深的,普通的就可以,职位比较着急,不知道您能推荐一些朋友呢,谢谢了。

  647. xeon815
    xeon815 September 13, 2012

    请问一下.鸟哥是不是你.我有些同学说是你..有些说不是你..到底是不是你一个人

  648. Howard
    Howard September 12, 2012

    天才,你学php用了多久啊?

  649. smallslime
    smallslime September 12, 2012

    鸟哥,在下盛大PHP研发一枚,技术宅,希望能加入你的群探讨关于PHP的any thing,不断进步
    如果可以,能否给我mail一封,不胜感激

  650. loki
    loki September 5, 2012

    求php5.3以上的yaf.dll,请发到我邮箱,感谢

  651. 雪候鸟
    雪候鸟 September 2, 2012

    @tom916 到bugs.php.net报告bug吧

  652. tom916
    tom916 September 2, 2012

    hi 鸟哥,请教一个memcache 客户端的问题
    最近项目在重构,出现了2个memcache的包装
    一个使用静态变量,一个使用非静态变量
    ,这两个类同时使用到了,结果就出现段错误
    memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211, 1, 1, 1, 15, true, array(
    $this,
    ‘fail’
    ));
    $tmp->setCompressThreshold(8192, 0.2);
    $this->memcache = $tmp;
    }
    return $this->memcache;
    }
    public function fail($host, $port) {
    }
    }
    /**
    * 使用了静态的$memcache
    * 出现 Segmentation fault
    */
    class bar {
    private static $memcache = null;
    public function get_memcache() {
    if(self::$memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211);
    $tmp->setCompressThreshold(8192, 0.2);
    self::$memcache = $tmp;
    }
    return self::$memcache;
    }
    }
    /**
    * 非静态ok
    class bar {
    private $memcache = null;
    public function get_memcache() {
    if($this->memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211);
    $tmp->setCompressThreshold(8192, 0.2);
    $this->memcache = $tmp;
    }
    return $this->memcache;
    }
    }
    */
    $bar = new bar();
    $memcache = $bar->get_memcache();
    $foo = new foo();
    $mem = $foo->get_memcache();
    echo “ok\n”;
    —–
    结果
    ok
    Segmentation fault
    如果去掉
    array(
    $this,
    ‘fail’
    )
    这个参数,就不会报错,
    如果将bar的$memcache静态改成非静态的,也不会出现问题

  653. tom916
    tom916 September 2, 2012

    hi 鸟哥,请教一个memcache 客户端的问题
    最近项目在重构,出现了2个memcache的包装
    一个使用静态变量,一个使用非静态变量
    ,这两个类同时使用到了,结果就出现段错误
    memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211, 1, 1, 1, 15, true, array(
    $this,
    ‘fail’
    ));
    $tmp->setCompressThreshold(8192, 0.2);
    $this->memcache = $tmp;
    }
    return $this->memcache;
    }
    public function fail($host, $port) {
    }
    }
    /**
    * 使用了静态的$memcache
    * 出现 Segmentation fault
    */
    class bar {
    private static $memcache = null;
    public function get_memcache() {
    if(self::$memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211);
    $tmp->setCompressThreshold(8192, 0.2);
    self::$memcache = $tmp;
    }
    return self::$memcache;
    }
    }
    /**
    * 非静态ok
    class bar {
    private $memcache = null;
    public function get_memcache() {
    if($this->memcache == null) {
    $tmp = new Memcache();
    $tmp->addServer(‘localhost’, 11211);
    $tmp->setCompressThreshold(8192, 0.2);
    $this->memcache = $tmp;
    }
    return $this->memcache;
    }
    }
    */
    $bar = new bar();
    $memcache = $bar->get_memcache();
    $foo = new foo();
    $mem = $foo->get_memcache();
    echo “ok\n”;
    —–
    结果
    ok
    Segmentation fault
    如果去掉
    array(
    $this,
    ‘fail’
    )
    这个参数,就不会报错,
    如果将bar的$memcache静态改成非静态的,也不会出现问题

  654. libj
    libj August 30, 2012

    mysql_create_db()无法创建数据库,在php5.2,5.3中无法使用?

  655. libj
    libj August 30, 2012

    打扰一下,在php.net的帮助中,mysql_close()不能关闭mysql_pconnect()建立的持久连接,但在我的测试当中,mysql_close()可以关闭mysql_pconnect()连接的。这是怎么造成的,看到请回复邮件。谢谢

  656. Coseylee
    Coseylee August 27, 2012

    抱歉鸟哥,我理解了,& 与 and 优先级并不一样,所以导致这样的问题,嘿嘿。

  657. Coseylee
    Coseylee August 27, 2012

    您好,鸟哥,有个问题想请教一下。
    $a = $b = 1 and 0;
    var_dump($a); // int(1)
    var_dump($b); // int(1)
    $a = $b = 1 & 0;
    var_dump($a); // int(0)
    var_dump($b); // int(0)
    将and换成&之后结果却不一样。
    而且按我的理解&要比=优先级高,为什么会出现这样的结果?
    请鸟哥赐教,不胜感激!

  658. Lein
    Lein August 26, 2012

    php到今天已经非常强大和方便了,命名空间、上传进度之类的都实现了,甚至自带一个http服务程序
    但是,因为它的“运行方式”,使得它天生不适合做一些事情,这让我感到沮丧:
    1 线程函数,没有线程,php就始终是一个脚本,如同javascript一样。
    2 持续的对象存储,如果做一个需要经常修改用户属性的程序,不得不依赖数据库或者其它存储方式,效率自然低了很多。
    可能是php的定位问题吧,做php开发的就不应该想做“服务应用程序”,只应该把php用来做个网站。php今天已经占据了top500的大多数!
    “asp 依托 iis
    .net 依托 .net framework
    jsp 依托 tomcat
    所以或多或少都提供了持续的对象
    而 php 没有专属的宿主,因此高效的持续对象只能是水中月了”
    鸟哥成为了php开发组的成员,国人感觉有了靠山了。
    不知道未来php是否有可能朝“非解释性脚本语言”方向发展一下,其实就是加强下php的cli模式,增加些功能。
    谢谢鸟哥的finally!

  659. sam
    sam August 24, 2012

    在XP上没问题在WIN7上报这个错,
    是在XP上开发的,安装到WIN7上时报错
    Warning: imagecreatefromstring() : Data is not in a recognized format. in

  660. star001007
    star001007 August 24, 2012

    我是来膜拜你的

  661. wangchun
    wangchun August 20, 2012

    鸟哥,请教一个问题,最近一直让这个问题困扰,导致我写的socket连接都不敢在析构函数里面关闭,析构函数的调用顺序难以理解,代码如下.
    <?php
    class A{
    function test(){
    }
    function __destruct(){
    echo "CLEAR A”;
    }
    }
    class B{
    function test(){
    }
    function __destruct(){
    echo “CLEAR B”;
    }
    }
    function a($a){
    $a->test();
    exit; //问题出在这里
    }
    $a = new A();
    $b = new B();
    $b->test();
    a($b);
    如果上面的exit没注释掉的话,输出:
    CLEAR A
    CLEAR B
    注释掉的话是:
    CLEAR B
    CLEAR A
    这个问题给我带来了很大的困扰,比如我要在一个页面结束调用下数据库处理对象,结果因为数据库对象的析构函数调用在前面先关闭了连接。
    感谢

  662. ning
    ning August 19, 2012

    zipAchive扩展BUG较多,比如不支持中文,不能解压目录,建议完善。

  663. bully
    bully August 17, 2012

    你好,鸟哥。 能否告知一下你如何跟踪PHP源码 你用的是什么工具?

  664. 林家武
    林家武 August 15, 2012

    宸哥。
    你好,我想学习你的yaf框架。请指导指导,给点提议。我的php基础还好,用过小型框架。

  665. 呼吸二氧化碳
    呼吸二氧化碳 August 9, 2012

    期盼多年的“非阻塞”不知道啥时候可以推上议程,不知到PHP6的时候能否有这功能么?就连js都可以非阻塞,php到现在还不支持,郁闷啊。
    有了非阻塞降给php带来新的活力,希望能考虑下。

  666. 张璐
    张璐 August 7, 2012

    鸟哥,您是陕北的啊!
    可否问问您陕北哪的,因为我也陕北,而且我现在也在从事php想让您多指导指导!

  667. 非常不解
    非常不解 August 7, 2012

    模块化设计是C的伟大思想,为什么在PHP里没有static关键字,用于限制变量的作用域是文件的,现在我都用global来模拟,大神能告之一下否?

  668. GAOBO
    GAOBO August 1, 2012

    鸟哥,,呵呵,,牛人,,偷笑!!1

  669. liuyong
    liuyong July 26, 2012

    在PPC认识牛人的你,我就是单纯来这里留言,标示我已来的证据

  670. drunk
    drunk July 13, 2012

    鸟哥你好!
    请教一个PHP类设计的问题:
    在一个毫不相干的函数中,可以给某个类的对象添加成员变量
    我觉得这一点设计非常不好!
    严重损坏了代码结构,也损坏了代码可读性
    不知道你怎么看这个问题的呢?

  671. Michale
    Michale July 9, 2012

    最近这两天实在不想写代码。也不知道改怎么去提升,写来写去还是那么些东西。现在只能算是一个刚入门的新人。迷茫啊,能给点建议吗?是我太浮躁了还是怎么了

  672. djxhero
    djxhero July 8, 2012

    请问yaf 在64位windows下怎么安装。找不到x64的yaf
    dll文件

  673. 荤段子
    荤段子 June 29, 2012

    建议像搜狐评论一样,多人点评和引用的留意置顶,并且按照最新发表排列就最好了

  674. scncpb
    scncpb June 24, 2012

    鸟哥,PHP的排序算法zend_qsort能否讲一下,谢谢。。。

  675. fehn
    fehn June 19, 2012

    老师您好,我是一个php初学者,有个问题想您请教。
    可以给我写一个php完成mysql事务的例子吗?
    比如 一个物品价格1000,A向B购买
    请您写一个 php mysql 的代码 先写一个正确的事务,然后写一个不是事务的,用来证明,没有事务,会导致账户显示不正确。
    可以吗 ?

  676. 阿金
    阿金 June 14, 2012

    鸟哥你好,请问PHP下载包里的libpq.dll有什么用,谢谢了。

  677. 阿金
    阿金 June 14, 2012

    鸟哥你好,请问PHP下载包里的libpq.dll有什么用,谢谢了。

  678. sky
    sky June 14, 2012

    希望博主能建立一个php高级开发论坛,讨论php源码,gtk,apache,c,linux,数据结构算法,数据库等知识。中国需要博主这样的人才去带领phper发展。
    还有我想说,目前博主写的yaf框架,确实应该设立一个论坛去讨论,讨论此框架人多了,用的人慢慢也多。
    目前本人正在学习linux c开发,希望以后有机会加入到博主yaf开发中来。

  679. loso
    loso June 12, 2012

    你好! 鸟哥,请教一个问题,最近在做一个接口测试项目,用php实现。我现在比较谜惑,百度也没有让我明白。大概说下需求,第一步是要测试接口。第二步是接口没有问题后,要把该接口代码同步到hudson上面。
    请鸟哥,帮我分析下,第二步怎么实现呢?

  680. 成刚
    成刚 June 11, 2012

    已经好了,下载的example可以正常运行。多谢@laruence !

  681. anbr
    anbr June 11, 2012

    鸟哥,我先说一下我的需求想在app目录下简历任意的文件夹进行配置,
    目录结构想这样,
    app/article/models
    app/article/controllers
    app/article/views
    app/video/models
    app/video/controllers
    app/video/views
    这样的话有一个好处,就是在几个人维护或者某一个模块维护的时候需要找这个项目下面的文件夹就好,
    如果都挡在相应的mvc下,用文件名来命名的话在增加需求的时候需要更改相关联的文件,这样,我可以建立一个,article_test的进行修改,
    我需要修改框架么?还是直接在conf下定义,

  682. 雪候鸟
    雪候鸟 June 9, 2012

    @成刚 奇怪了, inline关键字好像在你的编译器下有问题, 我重新提交了一个新的修改, 你再试试? 非常感谢反馈 🙂

  683. 成刚
    成刚 June 9, 2012

    @laruence 还是不行,报错如下:
    PHP Warning: Yaf_Loader::autoload(): You should not use ‘Yaf_’ as class name prefix in /Users/chenggang/wwwroot/test/yaf/application/controllers/Index.php on line 2
    dyld: lazy symbol binding failed: Symbol not found: _yaf_loader_is_category
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace
    dyld: Symbol not found: _yaf_loader_is_category
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace
    我的环境:
    PHP Version 5.3.10
    Macintosh; Intel Mac OS X 10.7; rv:10.0.2
    Darwin albert.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
    Apache/2.2.21 (Unix) DAV/2 PHP/5.3.10 with Suhosin-Patch
    yaf 2.1.17-dev

  684. gsk
    gsk June 8, 2012

    不知道这是不是PHP5.3+ 的一个bug
    我的PHP代码采用Shift-JIS编码。出现了以下问题。
    字符串变量的值的最后一个字是[能]这个字的话,会导致后面使用引号时出问题。
    例如:
    1.单引号
    $a=’abc能’;
    $b=’dfsdfsdf’; ->这里出错
    1.双引号
    $a=”abc能”;
    $b=”dfsdfsdf”; ->这里出错
    代码改为UTF-8编码就没有这个问题了。
    —-以前的版本的PHP没有出现过这个问题的。
    如果我想继续用UTF-8以为的编码,比如Shift-JIS,我应该怎么设置呢?

  685. 雪候鸟
    雪候鸟 June 8, 2012

    @成刚 多谢反馈!, 已经在svn修复, 你可以在https://github.com/laruence/php-yaf下载临时开发版本验证. 谢谢

  686. 成刚
    成刚 June 8, 2012

    请教:
    pecl安装yaf后,按手册写demo,报错如下,请帮忙看看,谢谢!
    [Fri Jun 08 15:02:06 2012] [notice] child pid 5079 exit signal Trace/BPT trap (5)
    dyld: lazy symbol binding failed: Symbol not found: _yaf_request_is_routed
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace
    dyld: Symbol not found: _yaf_request_is_routed
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace

  687. 成刚
    成刚 June 8, 2012

    请教:
    pecl安装yaf后,按手册写demo,报错如下,请帮忙看看,谢谢!
    [Fri Jun 08 15:02:06 2012] [notice] child pid 5079 exit signal Trace/BPT trap (5)
    dyld: lazy symbol binding failed: Symbol not found: _yaf_request_is_routed
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace
    dyld: Symbol not found: _yaf_request_is_routed
    Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/yaf.so
    Expected in: flat namespace

  688. yong.teng
    yong.teng June 6, 2012

    hi 我想请教个问题,我想写模板引擎,然后自定义一些规则,我试图自己重写一个和compile_file,但是zend_language_scanner.h等等好多文件include进来都报错,有什么方法可以达到我想效果呢?

  689. 雪候鸟
    雪候鸟 June 4, 2012

    @qgjie 如果说你是进程模式的Apache的module的话, 那PHP也是进程模式, 多线程理论上是没有问题的(在扩展内部就相当于是普通的进程模式的编程一样), 但是你需要自己处理线程安全.

  690. qgjie
    qgjie June 4, 2012

    你好,请教个问题啊,在网上搜了好长时间,也没有具体的信息。
    我们现在项目开发了个PHP扩展模块,这个模块中启动了线程和使用了大量的全局变量。
    后来发现Apache是进程模式的,前一个请求产生的数据,下一个请求读不到。
    是PHP本身不支持这种模式吗?
    还是说,支持啊?谢谢了。

  691. huanguuq
    huanguuq May 29, 2012

    yaf有没有详细的教程

  692. 雪候鸟
    雪候鸟 May 29, 2012

    @螃蟹 执行期间执行, 要说快的话, 肯定是第一种快, 毕竟第二种有函数调用.

  693. 螃蟹
    螃蟹 May 28, 2012

    您好,非常关注您的博客。现在冒昧的想请教一个问题。
    php可以用数组直接访问字符串的字符。
    那这个方式是直接生成变量的时候已经生成好的呢,还是访问的时候执行截取操作呢?
    比如:
    $var = ‘abcd’;
    $char1 = $var[0];
    $char2 = substr($var,0,1);
    这两种方式哪个更快啊?

  694. Danny
    Danny May 21, 2012

    鸟哥,刚刚将php_yaf.dll换成了 php_yaf-x86-5.3.10-nts-nodebug.dll ,在使用过程中遇到如下问题,sample中的在models文件夹中的 Dao_Name_Value类无法自动加载。models文件夹子啊applications下面,和library文件夹平级,不知道该怎么引入。
    全局空间在配置文件中配置出错,我看到英文文档中
    的说明,是不是使用 yaf.library是全局类库,使用application.library是本地类库?这样写会抛出异常。
    我只有使用instance方法,重新指定本地和全局类库,这样是生效的。
    最主要的问题是不知道如何自动加载models文件夹中的类。我现在将models卸载library中,感到很别扭。请鸟哥解答。麻烦鸟哥了。我的是win系统,php5.3.8 zend ce5.5

  695. Danny
    Danny May 21, 2012

    鸟哥,yaf框架 如何在action里面调用 models文件夹中的model类呢?写的时候总是说在library文件夹中找不到相应的文件,如何把models文件夹加入自动查找里面呢?
    另外如何设定全局文件路径。
    谢谢鸟哥

  696. shirne
    shirne May 18, 2012

    右手诗
    ~~
    能否在博客里分享些呢?

  697. Danny
    Danny May 18, 2012

    另,yaf是否还会有Model层数据库部分的封装呢?还是在php文件中自己实现?

  698. Danny
    Danny May 18, 2012

    鸟哥,我想问下,yaf的Yaf_View_Simple 类中有 assignRef() ,方法,请问与 assign方法在用法上有什么区别?我看了下 源文件,可惜看不懂。能简单解释下么?

  699. 大熊
    大熊 May 18, 2012

    博主你好!!终于见到php界的大神了!有点激动。一下觉得有很多话想跟博主说。我今年大三,学php也有一段时间了,做了一些DIY的小东西,但是一直不知道怎么进阶,也没有做过实际项目,我就很无聊的在用php做ACM算法,算是熟悉语法了,这终究只是短暂的,接下来打算看看php的源代码,于是很幸运的进了您的博客。希望博主能给我提些建议。我的网站也是一个博客,跟您的风格类似,希望得到您的指导。

  700. 大熊
    大熊 May 18, 2012

    博主你好!!终于见到php界的大神了!有点激动。一下觉得有很多话想跟博主说。我今年大三,学php也有一段时间了,做了一些DIY的小东西,但是一直不知道怎么进阶,也没有做过实际项目,我就很无聊的在用php做ACM算法,算是熟悉语法了,这终究只是短暂的,接下来打算看看php的源代码,于是很幸运的进了您的博客。希望博主能给我提些建议。我的网站也是一个博客,跟您的风格类似,希望得到您的指导。

  701. 高鹏
    高鹏 May 12, 2012

    惠新宸,看到的话把qq或者电话发到我邮箱,gaopengeagle@163.com,我是高鹏

  702. wclssdn
    wclssdn May 10, 2012

    碰到个问题, 很奇怪, 猜原因然后去重现, 结果还重现不了.
    描述下问题吧:
    从新浪微博接口获取到的mid是超过32位能表示的. 所以, 我们测试机都弄成64位了, 我再也没管过是字符串还是数字. 然后, 今天写程序发现有负数了. 产生的过程是. 我把微博ID序列化存储到数据库中, 然后从数据库取出,再反序列化.
    数据库中的序列化字符串表明序列化的时候把微博ID当成int类型了.
    而我去那台测试机用命令行执行, 序列化的结果就是d而不是i.
    我很诧异… 想问下, 什么情况下序列化的时候, 数字会被当成i, 什么情况下是d, 什么情况下是f?
    谢谢鸟哥~~

  703. wugaochao
    wugaochao May 5, 2012

    你好,
    我最近碰到一个项目,用zend全部加密,把所有文件加密成 .do 格式文件啦,我想修改数据库连接,都修改不了,还有他加密后的程序在时间上也有限制,必须要修改服务器时间才行,否则不能运行。
    我想问,zend 加密成.do格式,是怎么加密成的,用哪个方法,用zend guard吗,还有我想解密的话怎么办,我想修改源代码。

  704. 刘相君
    刘相君 May 3, 2012

    您好,我是一个刚刚毕业的学生,喜欢上了php,现在也正在做这方面的东西,但是现在我很迷茫,不知道我的发展方向在哪里,想更深入的了解和使用好php这门语言,我应该从何处下手呢? 我很想提高自己的php技术水平,但是真的迷茫不知道该从何处下手,如果您在百忙之中看到了我的留言,请花几分钟时间告诉我一下可以么? 您当初是怎么样学习和使用php的,前进的道路在哪里呢? 我会每天看微博和邮箱的
    十分感谢!!!

  705. lv
    lv April 28, 2012

    鸟哥 想求你blog右边 tags栏的JS~~ 不知可否?

  706. hannah.huang
    hannah.huang April 27, 2012

    嗨,你好。我是米尚优品的人事专员。很高兴认识你,我们现在再招研发主管和PHP。如果有兴趣的我们可以沟通一下。谢谢~

  707. laruence
    laruence April 26, 2012

    @viewhao 不是js的, 是wp的一个插件. wp-cloud, 你搜搜

  708. viewhao
    viewhao April 26, 2012

    请问,这个网站上的“Tags”栏是怎么用JS做到的啊?

  709. Anonymous
    Anonymous April 25, 2012

    php 的session生命周期结束后能触发事件吗?
    用户在线了,就不能在别的地方再次登录了。只有退出后才能再次登录。
    浏览器突然关闭了,服务器能改变用户的登录状态吗?。咋做?

  710. Anonymous
    Anonymous April 25, 2012

    php 的session生命周期结束后能触发事件吗?
    用户在线了,就不能在别的地方再次登录了。只有退出后才能再次登录。
    浏览器突然关闭了,服务器能改变用户的登录状态吗?。咋做?

  711. meepo
    meepo April 25, 2012

    Laruence:
    您好,请教一个php用cURL的问题。
    我用cURL模拟文件上传,代码大概是:
    ……
    $p = Array(
    ‘file_1’ => ‘@D:\pic\1.jpg’
    );
    $opt = Array(
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => $p
    );
    curl_setopt_array( $ch , $opt );
    ……
    上传功能我已经测试完整,可以正常工作。
    问题是如果我恰巧有一个POST参数是file_1的话,则会发生冲突。
    这个问题可以在表单提交中避免:
    只是用cURL模拟上传则不能避免,因为后端PHP取到的$_POST和$_FILES变量都来自cURL中的CURLOPT_POSTFIELDS。
    希望得到您的帮助。

  712. 陈智
    陈智 April 23, 2012

    Can’t use method return value in write context…
    最近老是碰到这种错误,请问什么是write context呢?为什么会有这种错误呢?

  713. kk
    kk April 17, 2012

    请问我用zendserver中附带的apache,在php.ini里面加了extension=php_yaf_zts.dll,然后dll放在zend\ZendServer\lib\phpext目录,但是就是加载不上yaf呢phpinfo()里面也没有yaf信息。我想用zendserver/studio主要是由于想用ide的调试环境。请问有什么解决办法嘛,多谢。
    附上部分信息
    PHP Version 5.3.8-ZS5.5.0
    System Windows NT WWW-C808B3D6D5D 5.1 build 2600 (Windows XP Professional Service Pack 3) i586
    Build Date Aug 24 2011 15:23:28
    Compiler MSVC9 (Visual C++ 2008)
    Architecture x86
    Configure Command cscript /nologo configure.js “–disable-phar” “–disable-ipv6” “–disable-zts” “–enable-cgi” “–disable-bcmath” “–disable-calendar” “–disable-odbc” “–disable-tokenizer” “–disable-xmlreader” “–disable-xmlwriter” “–without-sqlite” “–without-wddx” “–enable-debug-pack” “–enable-cli-win32” “–enable-pdo” “–with-openssl” “–with-php-build” “–with-libxml” “–with-pdo-sqlite”

  714. laruence
    laruence April 10, 2012

    @Anonymous 如qq沟通, 是配置名的问题.

  715. Anonymous
    Anonymous April 9, 2012

    @Yaf fan http://cn.php.net/manual/en/yaf-route-regex.construct.php 后来调正了配置名,参看这个文档的example 2
    内部配置没问题
    但是就是按照配置文件方式会出错
    Warning: Yaf_Router::addConfig() [yaf-router.addconfig]: Unable to initialize route named ‘regex’ in G:\www\yaf\ap01\application\Bootstrap.php on line 10

  716. zhuguangyao
    zhuguangyao April 9, 2012

    请问一下大神,能不能在不重启php情况下reload一个扩展so呢,效果与静态加载相同。

  717. Anonymous
    Anonymous April 7, 2012

    引入配置中的路由这样没问题吧~
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(Yaf_Registry::get(“config”)->routes);

  718. Anonymous
    Anonymous April 7, 2012

    引入配置中的路由这样没问题吧~
    Yaf_Dispatcher::getInstance()->getRouter()->addConfig(Yaf_Registry::get(“config”)->routes);

  719. Anonymous
    Anonymous April 7, 2012

    Version 1.0.0 $Id: php_yaf.h 62 2011-06-27 11:45:22Z laruence@gmail.com $
    routes.regex.type=”regex”
    routes.regex.route=”#^/index.html#”
    routes.regex.default.controller=Article
    routes.regex.default.action=index
    routes.regex.map.1=index
    这样没问题
    但是Version 2.1.9 会有问题~~不知道是什么原因啊~~
    routes.regex.type=”regex”
    routes.regex.route=”#^/index.html#”
    routes.regex.default.controller=Article
    routes.regex.default.action=index
    routes.regex.map.1=index
    Warning: Yaf_Router::addConfig() [yaf-router.addconfig]: Unable to initialize route named ‘regex’ in G:\www\yaf\ap01\application\Bootstrap.php on line 10

  720. Yaf fan
    Yaf fan April 7, 2012

    routes.regex.type=”regex”
    routes.regex.route=”#^/index.html#”
    routes.regex.default.controller=Article
    routes.regex.default.action=index
    routes.regex.map.1=index
    Warning: Yaf_Router::addConfig() [yaf-router.addconfig]: Unable to initialize route named ‘regex’ in G:\www\yaf\ap01\application\Bootstrap.php on line 10

  721. 三自
    三自 April 4, 2012

    大师,能不能把你发了PHP文章 打包份共享 给我下,我想好好学下,没什么时候上网

  722. 网络水军
    网络水军 April 1, 2012

    92推,探索网络水军 http://92tui.com/ 网络水军公司的营销方式,专程来访,希望你赐教一下,网络水军营销,特别是我在网站标题上加上网络水军,这样能行的通吗?另外,如果网站相当,你看得起,可以交换链接。网站有我的联系方式。

  723. Jack lou
    Jack lou April 1, 2012

    能否在更新下那个约车的脚本?以前那个已经不能用了

  724. wclssdn
    wclssdn April 1, 2012

    我的代码呢- -.. 难道要这样?
    <form action="?a=b" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <input type="file" name="file" />
    <input type="hidden" name="c" value="d" />
    <input type="submit" name="submit" value="上传" />
    </form>

  725. wclssdn
    wclssdn April 1, 2012

    刚刚碰到一个问题. 比较奇怪. 跟你说下吧.
    先描述问题吧: 我弄了个表单, 上传文件, 当文件上传成功的时候,一切正常. 当文件上传失败的时候 POST FILES数组都不正确. 不知是否是PHP.INI文件的写法有问题.还是哪的问题. 我以为真没碰到过这个问题. 就算文件上传失败. FILES数组也是有值的. 告诉为啥失败…
    我用的集成环境: WAMP SERVER 2.1
    upload_max_filesize = 2M
    贴代码:
    文件上传正确的话, GET中有a. POST中有c,submit. FILES中有file.
    但是. 我选择一个18MB的iso文件的时候, GET中有a,c,submit. POST FILES为空.
    真心理解不了为啥.. 求解答.

  726. Forever
    Forever April 1, 2012

    博主刚看到一个新闻
    你跳到新浪微博了是吗

  727. mckee
    mckee March 31, 2012

    什么时候到大师这水平?永远不会吧

  728. 杨毅
    杨毅 March 30, 2012

    @雪候鸟 我在你腾讯微博上留言了。关于php性能的几个问题,我经过实际测试发现有点出入,麻烦你解答一下。谢谢!

  729. 杨毅
    杨毅 March 30, 2012

    @雪候鸟 我在你腾讯微博上留言了。关于php性能的几个问题,我经过实际测试发现有点出入,麻烦你解答一下。谢谢!

  730. leejianjun
    leejianjun March 30, 2012

    呵呵,偶像啊,看来新浪微博会更加强了。。。俺以前都是用腾讯微博的,看来得抓紧时间注册一个新浪微博~

  731. 86er
    86er March 30, 2012

    听闻偶像离开百度转投新浪微博了,祝在新的舞台有更好的成绩,祝福~~

  732. tj646
    tj646 March 27, 2012

    请教一个 zend_complie_file 顺序的问题
    现在有一个.SO文件HOOK了这个函数(不知道能不能这样讲)
    我想自己再写个.so文件在它这个HOOK后再接管文件的指针Handle
    不知道怎么让我这个在它的后面执行。
    一定要回呀。谢谢谢谢

  733. frank
    frank March 21, 2012

    博主,您好,想请教关于PHP安全方面的课题,是否可以从PHP内核出发,做一个PHP扩展模块来防御PHP脚本中的一些攻击和WEBSHELL。我是一名在校学生,想开展一些这样的工作是否有意义,期待您的回复。

  734. yuzuodeyun
    yuzuodeyun March 16, 2012

    $foo{5}和$foo[5],有啥区别
    ??
    string(1) “f”
    string(1) “f”
    int(9)
    int(9)

  735. 拇指帝国
    拇指帝国 March 16, 2012

    你好,我有个问题想请教下。我在c程序里调用php的库函数,用system(‘php -f foo.php’),但发现这样效率很低。论坛上有人给了另一种方法,例如
    char *php_code = “echo \”Hello, World!\\n\”;”;
    PHP_EMBED_START_BLOCK(argc, argv);
    zend_eval_string(php_code, NULL, “Embedded code” TSRMLS_CC);
    PHP_EMBED_END_BLOCK();
    即使如此,提高的效率也仅仅是载入php脚本吧。有没有效果更高的方法呢?

  736. 雪候鸟
    雪候鸟 March 13, 2012

    @higkoo, 如沟通, 是因为short_tag问题.

  737. Lein
    Lein March 13, 2012

    我又来了,今天不忙,就去看了你推荐的runkit,其中的sandbox部分太复杂了,看不懂,后来看了runkit_functions.c runkit_methods.c ,我感觉你的意思是要我用它里面的方式,获得函数或者获得类的方法吗?
    另外,js/css的我看完了,了解清楚了js:this,css可以自动加省略号,O(∩_∩)O~
    你的分类(本站分类)的“php应用下”的文章已经15页了,是不是该分详细一点了?

  738. higkoo
    higkoo March 13, 2012

    大佬,PHP遇到诡异问题啦:
    CentOS6.2 Linux 2.6.32-220.4.2.el6.x86_64
    PHP 5.3.10
    Zend Engine v2.3.0
    在新浪微博回调时(内部使用pb协议),php在解析过程中出问题,直接把某个类从构造函数开始的源码给打印出来了。
    悲催啊!

  739. ian
    ian March 12, 2012

    几乎所有版本都存在的严重安全问题,我先提交给公司获取点奖励,再由公司提交到国家cve,既能得奖励还能升职。提交到php有奖励吗

  740. ian
    ian March 12, 2012

    几乎所有版本都存在的严重安全问题,我先提交给公司获取点奖励,再由公司提交到国家cve,既能得奖励还能升职。提交到php有奖励吗

  741. ian
    ian March 12, 2012

    算了 我还是先提交给公司 然后赚点奖励 然后公司再提交到国家cve 还有点小赚头, 这个问题好像所有版本都存在,如果提交给php 有小奖励不

  742. ian
    ian March 12, 2012

    怎么提交啊 哪个按钮 现在几乎所有版本都有这个问题 不能公开提交

  743. ian
    ian March 12, 2012

    你知道 怎么提交bug给php 项目组吗 ,我发现一个安全漏洞。

  744. danny
    danny March 12, 2012

    鸟哥,我用的是windows系统,Zend Server CE5.5。php5.3.8。使用的是 在 http://code.google.com/p/yafphp/downloads/list 下的 php_yaf-x86-5.3.6-nts-nodebug.dll。安装 yaf显示正常,但是使用时感觉好像功能不全,另外我在bootstrap中的 _initRoute函数中输出 $router->getRouters(),报的是
    Call to undefined method Yaf_Router::getRouters()
    另: 5.3.8的dll在zend server CE的PHP5.3.8无法正确加载

  745. danny
    danny March 10, 2012

    不好意思鸟哥,手册我看了,我这边就是无法使用,是不是我使用的5.3.6_nts的dll版本的问题啊,具体我的使用方法我写到这里了,还请鸟哥移步过去看下,您直接在那里留言也行,在您这里留言也行,我会时刻关注的。
    http://php8848.com/yaf-customersize-router-problem/

  746. Lein
    Lein March 9, 2012

    谢谢啊,真是个好消息
    另外,我想知道有没有什么地方有比较多做扩展开发的地方啊,比如qq群之类的(搜索无果)
    你在你一篇博客里面提到加入邮件列表internals@ lists.php.net,这个,这个怎么加啊 ?

  747. danny
    danny March 9, 2012

    鸟哥,问个yaf框架的问题,我是在windows下用5.36nts的yaf的,发现 route这一部分, regex和 rewrite两种路由都无法使用,我不知道我的理解是否正确,但是yaf的相关信息实在太少,特向您来求证一下。

  748. laruence
    laruence March 9, 2012

    @Lein 我知道你的意思, 我之前的回答就是, 能, 仅当你的PHP是–enable-zts的时候. 但是你还是需要自己做一些thread global的初始化工作. 我建议你可以参考runkit扩展的sanbox部分代码.

  749. Lein
    Lein March 9, 2012

    谢谢
    我c和php 扩展都是入门级的,我觉得zts和tsrm之类的是让php运行在多线程的环境下,比如apache下,而不是php自身运行多线程的程序,
    我的意思是,有一个php函数,能否实现写一个php扩展,这个扩展提供一个函数假如thread_work,我传入a这个函数名和一个数字$n给thread_work,thread_work就能开启$n个线程去调用a函数。
    我之所以要实现这个,是因为我是做webgame的,单线程的程序,不能满足并发需求。
    请问鸟哥,php的扩展能实现这样的功能吗?

  750. Phper
    Phper March 9, 2012

    Svn karma for php src 是啥?

  751. 雪候鸟
    雪候鸟 March 5, 2012

    @lein 哦, 之前的留言被当做spam了, 一直没看到. PHP有一个线程安全层, 可以保护PHP运行在多线程下(不过, 需要编译的时候–enable-zts).

  752. lein
    lein March 4, 2012

    鸟哥
    还不来看留言,
    我就想知道是根本不可能实现,或者极难实现的话,我就放弃了

  753. atans
    atans March 2, 2012

    為什麼5.4 Array支特簡寫
    [‘foo’ => ‘foo’, ‘bar’ => ‘bar’],
    而不直接支持 [‘foo’: ‘foo’, ‘bar’: ‘bar’]

  754. frank
    frank March 1, 2012

    鸟哥,麻烦问下PHP安全方面的,主流的攻击有SQL注入 XSS跨站,恶意脚本上传到服务器后执行等,关注这方面的防护有没有从PHP内核层去做的,期望得到您的指点

  755. libj
    libj March 1, 2012

    有YAF框架的实例吗,简单些的,想看一下

  756. 极限_裁决
    极限_裁决 February 29, 2012

    鸟哥,你好。我想知道PHP有没有什么办法在线生成CHM文件呢?我百度、Google了很久都没有找到比较有效解决的方法。如果你知道的话,能告诉我么?

  757. lein
    lein February 29, 2012

    你好,
    因为有人介绍 百度 技术沙龙 才看到你,恭维的话不说了。
    个人之前在做webgame的公司工作,因为公司要做socket通讯的webgame,但是php本身的socket函数只支持1024个连接,后来出了libevent扩展,但他是单线程的,根本没办法满足并发需求。。。不罗嗦了,
    我想请问,php有可能出线程支持吗?
    我写了个扩展,实现传入类的实例和它的一个方法名和想要启动的线程个数,然后在多个线程中调用那个方法,但是,我发现只要两个线程同时并发调用那个方法就会报内存错误,用valgrind看到是在call_user_function_ex那行。。。
    请问,php能实现这种多线程操作么?是我的方法不对,还是本身就办不到?

  758. all
    all February 26, 2012

    鸟哥能不能提供一个PHP5.3以上版本的YAF.DLL给我呢,在win下面测试东西时间比较多,不会编译啊,如果可以能发我邮箱么852697622#qq.com

  759. halleck
    halleck February 24, 2012

    您好,想请教一下,能说说PHP 在多线程这方面是怎样的?支持多线程的吗?curl_multi_init 可以实现多线程的?

  760. 赵
    February 21, 2012

    yaf框架能用于商业项目开发吗

  761. unity
    unity February 20, 2012

    你好,请问你的Yaf项目进展如何?很关注。

  762. Dean
    Dean February 16, 2012

    我未能找到yaf包的下载, laruence 能提供yaf框架包吗?
    谢谢

  763. jekhy
    jekhy February 15, 2012

    刚才那个代码被转义了,重发一遍代码:
    $a = serialize((object)array(
    ‘1’ => ‘aaa’,
    ‘2’ => ‘bbb’,
    ‘3’ => ‘ccc’,
    ));
    $a = (array)unserialize($a);
    $a[1] = ‘ddd’;
    var_dump($a);

  764. jekhy
    jekhy February 15, 2012

    hi laruence!
    今天把旧版本的测试机更新php5.3.10版本后,发现一个问题,不知道算不算bug,麻烦您看下,以下代码在5.3.10跟旧版本中(5.3.3-5.3.8)的运行结果不同:
    ‘aaa’,
    ‘2’ => ‘bbb’,
    ‘3’ => ‘ccc’,
    ));
    $a = (array)unserialize($a);
    $a[1] = ‘ddd’;
    var_dump($a);
    // 5.3.3测试结果:
    array(3) {
    [1]=>
    string(3) “ddd”
    [2]=>
    string(3) “bbb”
    [3]=>
    string(3) “ccc”
    }
    // 5.3.10测试结果:
    array(4) {
    [“1”]=>
    string(3) “aaa”
    [“2”]=>
    string(3) “bbb”
    [“3”]=>
    string(3) “ccc”
    [1]=>
    string(3) “ddd”
    }
    而且在5.3.10中,isset($a[2])的值竟然是false,即使isset($a[‘2’])也一样,我觉得是5.3.10的一个bug,求鉴定!

  765. laruence
    laruence February 11, 2012

    @Roc 中断是什么意思? 退出么? 如果是退出, 请注意开启全部的错误提示以后, 观察下error_log(如果你是nohup,或者crontab的话, 注意响应的log)

  766. Roc
    Roc February 11, 2012

    你好,请教一个问题:
    网站上需要给订阅用户发送大量邮件。由于每封Email中有取消订阅的连接,每个Email的连接都是不同的,所以给每个Email发送的内容都是不同的,就不能用群发,必须要一个一个的发出去。
    我现在的思路是:从数据库中读取出来所有的Email,然后用foreach循环利用PHPMailer发送。每个循环用sleep(2)来防止被服务器阻止。
    并且在发送邮件的脚本中加入了
    ini_set(‘max_execution_time’,’0′);
    set_time_limit(0);
    用来防止脚本过期。
    但是到目前为止仍然不是很稳定,偶尔可以发送成功,偶尔可以发出一部分就中断。请指点下!多谢!

  767. 雪候鸟
    雪候鸟 February 8, 2012

    @Jake 方法是属于类中, 而不是对象的. 反序列化的时候, 如果你当前执行上下文没有这个这个对象对应的类, 则会失败. 如果有, 那么方法也就自然有了(类中)

  768. Jake
    Jake February 8, 2012

    请问下,PHP在序列化一个对象的时候,保存的是对象的属性,没有保存方法,在用到这个对象的时候,必须把对象包含进来,然后,可以正常使用。
    问题是:在反序列化一个对象的流程是什么样的,是先NEW了一个类,然后把属性赋值一下吗?
    教程上说,如果没有把对象包含进来,则对象的方法使用不对。在反序列化时候,具体的操作是什么?

  769. 雪候鸟
    雪候鸟 February 6, 2012

    @Daniel 这个是SAE帮忙后台操作的.

  770. Daniel
    Daniel February 6, 2012

    您好,请问您是怎么样在SAE上绑定自己的顶级域名的,用哪种方式,望赐教!谢谢,祝好!

  771. chutianyin
    chutianyin February 4, 2012

    有个问题有点费解,请教一下
    get_headers 这个函数 在线手册
    http://cn.php.net/manual/zh/function.get-headers.php
    中文版本写的是
    Note:
    自 PHP 5.1.3 起本函数使用默认的流上下文,其可以用 stream_context_get_default()函数设定和修改。
    我现在生产版本是 5.2.11(linux环境fast_cgi模式)
    但是使用以后不生效
    英文版本里面写的是
    Changelog
    Version
    5.1.3
    Description
    This function now uses the default stream context, which can be set/changed with the stream_context_set_default() function.
    中文版和英文版写的不一样
    一个是stream_context_get_default,一个是stream_context_set_default
    但是stream_context_set_default这个函数写明了
    PHP 5 >= 5.3.0

  772. wiml
    wiml February 4, 2012

    t.php里面的内容就是:
    <?php
    echo time();

  773. lpf
    lpf February 4, 2012

    请教一个技术问题:
    function g($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//不要输出,在curl_exec中返回
    $ret = curl_exec($ch);
    $errno = curl_errno($ch);
    if($errno){
    echo ‘Curl error #’.$errno.’: ‘ . curl_error($ch);
    $ret = ”;
    }
    curl_close($ch);
    return $ret;
    }
    用这段代码请求一个本的URL:
    for ($i=1; $i<=30000; $i++){
    $sec = g('http://192.168.1.8/test/t.php&#039;);
    if ($sec == ''){
    break;
    }
    echo $i.' ';
    flush();
    }
    请求到28000多次时,就会报:
    Curl error #7: Failed to connect to 192.168.1.8: Cannot assign requested address
    但http://192.168.1.8/test/t.php肯定没问题,我用浏览器访问,一切正常,用上面的g函数就是不行,但只要等个一分钟左右,就又恢复了可以了

  774. gyx
    gyx February 3, 2012

    博主,请问您的博客声明可以copy吗?

  775. ljgrich
    ljgrich February 3, 2012

    博主,您好!
    我们老总(一位oracle ocm)对博主这么年轻就在php技术领域取得如此大的成绩深感佩服,当然我更是相当的敬佩!老总非常想和博主见个面,聊聊天,交个朋友。2月底左右我们回北京,不知博主到时能否拨冗相见?

  776. 战神无限
    战神无限 February 2, 2012

    博主好,我是一个PHPer,最近因为作品里需要一些特殊功能,想要写PHP扩展,我知道PHP支持C/C++语言写扩展,但是有些疑问,那就是,PHP是C语言写的,是不是用C语言来写扩展,比较好呢?另外,申请友链~

  777. xiaokaizi
    xiaokaizi February 2, 2012

    class xx{
    public $box[2] = ‘fds’;
    public function echso() {
    // …
    }
    } 这样定义类为什么报语法错误?
    在zend_language_parser.c里,变量名是不允许带[]的,估计在词法分析那一步把$box[2]分割成了一个变量名,fds是值,到语法分析这步就出错了。
    如果是这样原因。问题是为什么要在类的成员变量中这样分割,而普通变量缺不呢?

  778. ryan
    ryan February 1, 2012

    当api中需要传入的参数比较多的时候,您一般如何处理?是传入一个key-value的数组,还是生成一个对象?

  779. ljgrich
    ljgrich February 1, 2012

    非常感谢博主!希望能很快就得到佳音!

  780. smbrave
    smbrave January 31, 2012

    大牛,前辈,来学习学的。
    我是实习生,目前做QA。希望毕业后能进运维部
    还望多多指教。

  781. 雪候鸟
    雪候鸟 January 31, 2012

    @ljgrich, 我会帮您转播, 谢谢

  782. ljgrich
    ljgrich January 31, 2012

    博主,您好!
    不知您的同事中有否年龄较大、想转行做php培训讲师的?如果有,恳请告知,不胜感谢!
    我本人是一老Java程序员(已经过了4s啦),在北京的培训机构和民办大学做过培训讲师。现在协助一年轻有为的原来的同事创业(他是做Unix/Linux和Oracle的)。我和这位同事家都在北京。公司创办已经一年,发展势头良好,且公司有实力雄厚的投资人做后盾。目前目前主要做Linux运维/系统管理方面的培训,做的很专业。做了Linux,怎么能不做php呢?公司下一步计划开展php培训业务,公司的宗旨是,不做则罢,要做就要做的真正专业和高端。为此,急需一个php学科的带头人。
    对于php学科的带头人,公司不仅会给予丰厚的待遇,更重要的是会给予足够的尊重和权利。公司现在湖南,计划马上在北京再成立新的公司。php学科带头人主要在北京工作,会有短期的出差。如果愿意到湖南工作,更加欢迎。
    我的联系方式:
    手机:13681437307
    email:ljgrich@163.com
    qq:2352813142
    再次感谢!

  783. 雪候鸟
    雪候鸟 January 31, 2012

    @justflyhigh 使用fopen, fread之类的流式处理, 尽量避免把所有文件都一次性读入内存.

  784. justflyhigh
    justflyhigh January 31, 2012

    您好:
    有个问题想向您请教一下,我现在在做一个股票数据分析系统,功能是把文件中的数据读入的数据库中按一定的规则计算股票涨幅、查询股票数据,遇到一个问题,股票数据问件是txt格式的,目前总共有2392个文件,每一个文件中大约有4500条数据,在执行的过程中就超内存了,程序就挂了,有什么好的解决方案呢?

  785. Danny
    Danny January 19, 2012

    老大能请教下么,看到您的 yaf框架,非常崇拜,想使用一下,目前我用的是zend server 5.5 CE,下载的5.3.8的php_yaf.dll,zend server 中显示err,报错 “The system could not load this extension”,对于在windows下使用,还有其他的限制么?打扰了。

  786. Anonymous
    Anonymous January 13, 2012

    鸟哥,求教:
    php 处理 bmp文件 ,为什么在window下,图片类型是x-ms-bmp,而在linux下确是bmp。。

  787. 二妞
    二妞 January 13, 2012

    还有一个问题,怎么才能让yaf的类库中的属性于方法能在eclipse或zend studio中自动提示呢? 期待回复

  788. blueel
    blueel January 9, 2012

    您好,知道您是中国PHP业界的大牛,我这个小菜斗胆请教您一个问题,不知您有没有时间给解答一下。先在这里谢过啦。
    问题是这样的:我想使用sleep函数做一个PHP定时器,就是定时发邮件(可能会有一定量的数据库查询操作)。不知道sleep内部机理是怎么样的,对cpu和内存的占用是怎样的?方案二:就是使用linux的cron,不知道这两种方案的效率如何?请您指教

  789. zmzm
    zmzm January 7, 2012

    从这里学到很多啊,功德无量!

  790. dfar2008
    dfar2008 January 7, 2012

    老大请教一下,facebook的HipHop vm有可能合并到php的官方包里吗?

  791. poplar
    poplar January 4, 2012

    你好,请教一个php反射的问题
    发现不能通过use namespace\test 来使用ReflectionClass(test)这个类。
    不适用namespace,用include ‘x.php’;
    就不报错。
    —————————————–
    测试文件:
    test01.php和test_02.php都指定了namespace的。
    —————————————–
    直接贴代码:
    test_01.php文件代码
    namespace n;
    use n\test_02;
    class test_01 {
    public function __construct() {
    $refClass=new \ReflectionClass(‘test_02’);
    }
    }
    ———————————————
    这个是test_02.php文件代码
    namespace n;
    class test_02 {
    public function __construct() {
    echo “Hello,Test_01”;
    }
    }
    报错:
    ‘ReflectionException with message Class test_02 does not exist’
    请问在两个类中都使用同一个命名空间,
    也不能用反射吗?

  792. poplar
    poplar January 4, 2012

    你好,请教一个php反射的问题
    发现不能通过use namespace\test 来使用ReflectionClass(test)这个类。
    不适用namespace,用include ‘x.php’;
    就不报错。
    —————————————–
    测试文件:
    test01.php和test_02.php都指定了namespace的。
    —————————————–
    直接贴代码:
    test_01.php文件代码
    ———————————————
    这个是test_02.php文件代码
    报错:
    ‘ReflectionException with message Class test_02 does not exist’
    请问在两个类中都使用同一个命名空间,
    也不能用反射吗?

  793. phper
    phper January 1, 2012

    怎么写出优秀的php类?我一直试着写,但是在后来的日子里我写的类问题非常多,真的让人有点沮丧啊?大神,你可以传授一点经验吗????

  794. 西門掃雪
    西門掃雪 December 31, 2011

    鸟哥 用的什么编辑器来开发PHP的

  795. Hasion
    Hasion December 30, 2011

    博客主人貌似不常来…
    对于上条“夸父”留言,我想追问一下,你是不是已经学了YAF?我很想多了解一些,可以的话,讨教一番如何?
    请加我QQ:389900425
    等待消息…

  796. 夸父
    夸父 December 27, 2011

    Yaf 很简单很强大,我现在使用yaf开发一款购物车程序,参考了magento ,不知道鸟哥有没有打算在yaf 中 加入类似magento中的事件机制,我觉得这个很强大,对于第三方二次开发我的程序很有用。

  797. Zhuna
    Zhuna December 21, 2011

    你好,看了yaf以后很想深入学习一下,但是对于手册中得例子或说明我还是觉得少了一些,比如,modules里面布局是怎样的,能告诉我一个例子的地址码?期待百忙之中能看到我的消息。~谢谢

  798. Hasion
    Hasion December 20, 2011

    http://www.laruence.com/2011/11/05/2262.html
    看了这些框架性能上的比较,感觉很惊讶,之前听说yii是最好的,但是,现在看来所有的都在变,而且变化很大呢。
    所以就有很多的疑问想请教一下:这些只是运用上的比较,那么他们各自本身在优势和劣势上的比较是怎么样的呢,
    如果可以,想请您在他们各自自身的优势劣势上进行一个比对,发我邮箱里,随后方便鄙人学习,谢了!
    邮箱:389900425@qq.com

  799. Wang
    Wang December 18, 2011

    yaf 的代码 在google code和pecl中的版本是一致的吗?

  800. liuyu
    liuyu December 14, 2011

    表示加入收藏了。
    祝博主大牛事业更进一步。
    刚入门小白PHPer表示沾沾仙气。

  801. romanck
    romanck December 9, 2011

    mysql中的inner join 和left join的性能优劣情况?什么情况下比较适合用哪种连接?

  802. Ryan
    Ryan December 7, 2011

    作为猎头,看到这样的人,总是感到心潮澎湃。但是随后又陷入痛苦之中。

  803. 阿D
    阿D November 29, 2011

    laruence是我们学习的榜样。作为一个喜欢PHP的菜鸟,也喜欢Yaf。
    现在尝试使用Yaf,但有些吃力。laruence能放一个比较系统的实例就好了,我们也可以借鉴学习。
    另外,你比较常用的函数库,也整理下放出来,这样对菜鸟将是莫大的帮助。

  804. aureole
    aureole November 28, 2011

    嗨laruence
    请问,你和yanbin的PHP源码分析的项目现在进展如何哇呵呵,很期待哟,亲

  805. J
    J November 24, 2011

    从一个用户的角度出发,我想说,该博客的分页UI做得不是很好,查看多页文章时不方便。呵呵

  806. dengguibao
    dengguibao November 22, 2011

    太强大了,居然加入了pdt,给cn phper涨脸了。

  807. shapherd
    shapherd November 18, 2011

    鸟哥的博客空间不错, 很快啊。

  808. zu
    zu November 18, 2011

    鸟哥:
    最近在读取xml文件的时候发现一个问题,代码如下:
    1.xml:
    1
    hello
    $xml_arr=json_encode(simplexml_load_file(“1.xml”));
    $company[]=json_decode($xml_arr, true);
    print_r($company);
    打印出来的数据是comname是字符串,而comaddress是空数组

  809. 雪候鸟
    雪候鸟 November 9, 2011

    @neozhang PHP层面的参数, 是通过一个第三方结构来传递的, argument_stack.

  810. neozhang
    neozhang November 9, 2011

    鸟哥,您好:
    有个疑问:
    php扩展定义的函数都是这种形式的PHP_FUNCTION(hello),而这个函数声明展开后是
    void zif_hello(int ht, zval *return_value, zval **return_value_ptr, zval *this_ptr, int return_value_used TSRMLS_DC);
    这种形式的,这里就产生了问题。
    我在自己写的php扩展里面用zend_get_parameters_ex()这个函数获取用户调用函数输入的参数,而zend_get_parameters_ex的实现是用可变参数里面的函数实现的,那va_list ptr这个ptr这个指针怎么就能刚好指向当前用户调用函数时输入的参数的地址呢?
    实在是想不明白!望解答!谢谢,敬佩的鸟哥!

  811. neozhang
    neozhang November 9, 2011

    令人敬仰的鸟哥,您好:
    想向您问个问题,windows下怎么设置断点调试自己开发的PHP扩展程序?

  812. GAN
    GAN November 8, 2011

    CTRL加滚动鼠标中键这个我知道的哦,不过一般不喜欢这样,哈哈,随便你自己了,你觉得这样好也无所谓呀,也许你考虑的不只是中国人看,对吧?

  813. 乔莹
    乔莹 November 3, 2011

    令人敬仰的laruence,您好:
    请问您做过crowd和php应用整合吗?我现在只能做到访问crowd的一个地址,获得一个token,但是这样不能实现单点登录。
    以前用过cas,那上面认证与授权都是在服务器端实现的,就是在cas那边做认证和授权,可以实现单点登录,session什么的都不用自己做,cas就给做了。
    我现在不知道crowd集成php应用是否可以做成那种单点登录的,而session是否要客户端来保持。
    crowd整合php网上的资料大多数都是英文的,我英文还不太好,但是也看了一些,很少,都没有说到我上面说的问题,给的资料都只是能做到从crowd取得token,下面的就没有了。
    如果您做过这方面的,请帮忙解惑,万分感谢啊!

  814. GAN
    GAN November 1, 2011

    版主,提个建议,把你博客的字体大小调整一下,现在太小了,你这博客也大多是中文,看得太累了

  815. 申皓方
    申皓方 October 31, 2011

    我用的是apache2.26,自己的电脑实验呢……

  816. 申皓方
    申皓方 October 31, 2011

    这个问题开始说的有些问题!后来发现应该是因为超过了post_max_size,所以$_FILE就没值!
    但是如果设置post_max_size的值超过2G,php程序就会出问题!在我这的现象就是网页上什么都不显示!我的php
    版本是5.2.5

  817. Anonymous
    Anonymous October 31, 2011

    这个问题开始说的有些问题!后来发现应该是因为超过了post_max_size,所以$_FILE就没值!
    但是如果设置post_max_size的值超过2G,php程序就会出问题!在我这的现象就是网页上什么都不显示!我的php
    版本是5.2.5

  818. laruence
    laruence October 30, 2011

    @申皓方 一般来说, 很少容许上传这么大的文件(网速, 安全, 中断等等), 所以默认的post_max是8M, 我建议你用ftp来做大数据上传. 另外一般webserver也会有最大post body size的限制. 你可以看看你的web服务器的设置.
    如果,除去这些,如果还有问题, 那么可能是php的一个bug, 具体的是哪个版本的PHP呢?

  819. 申皓方
    申皓方 October 30, 2011

    您好!还记得我吗?我就是上个月在phpdebug上面问你关于__get()为什么会调用两遍的那个学生!最近我又遇到一个问题查不到结果,请帮帮我好吗?
    最近做一个项目,做资源上传的模块时,我想可能上传较大的文件,所以我在php.ini中设置如下
    max_execution_time = 600
    upload_max_filesize=2048M
    max_input_time = 600
    memory_limit = 2048M
    post_max_size = 2048M
    但是表单提交后,确没有任何反应。
    最后发现$_FILE为NULL,没有值!
    再后来发现当设置为post_max_size = 1536M后就又可以正常上传了!
    难道post_max_size有上限吗?那么最大可以设置为多大呢?(我这里好像是2G)
    如果真有的话,那如果要上传很多G的东西要怎么实现呢?
    请您指点一下啊!我准备这个项目做完就去找工作的……再不找年后就没什么机会了吧?所以,虽然比较初级,但请一定帮帮我好吗?

  820. 光
    October 29, 2011

    我给你发了邮件,请注意查收哦。另外以下3个函数的源代码在哪个文件呢?
    call_user_function
    call_user_function_ex
    zend_call_function
    我再zend_API.h中发现有声明,但具体定义怎么也找不到了

  821. aureole
    aureole October 26, 2011

    hello laruence!经常来博客扎营。最近碰到一个问题,就是我要判断一个对象是否实例化,又想严谨一点所以在判断的时候用了instanceof 来判断。但是又想到了一个问题就是这个判断有没有实例化一个对象有效率。
    我查了一下帮助文档发现new的解释
    line # op fetch ext return operands
    6 0 ZEND_FETCH_CLASS :0 ‘A’
    1 NEW $1 :0
    2 DO_FCALL_BY_NAME 0
    3 ASSIGN !0,$1
    7 4 RETURN 1
    然后又查了一下instanceof
    line # op fetch ext return operands
    6 0 ZEND_FETCH_CLASS :0 ‘A’
    1 NEW $1 :0
    2 DO_FCALL_BY_NAME 0
    3 ASSIGN !0,$1
    8 4 ZEND_FETCH_CLASS :4 ‘A’
    5 ZEND_INSTANCEOF ~5 !0,$4
    6 JMPZ ~5,->9
    9 7 ECHO ‘A’
    10 8 JMP ->9
    11 9 RETURN 1
    发现instanceof要处理的多哇

  822. linchare
    linchare October 26, 2011

    你好,Laruence,恭喜你成为php开发组成员。
    向你请教个问题,我在项目中,使用多台缓存服务器提供memcached服务,由于一些故障,其中一台缓存服务器重启了,然后我把其权重设置为0,但是依然发现该memcached有被使用到。感到困惑。
    我是用Memcached::addServers向服务器池中增加多台服务器的。能否帮忙解释下这个现象呢?

  823. umlyf
    umlyf October 24, 2011

    请问百度都有那些项目应用了yaf框架?还有能不能出个实例,这样也方便大家更快的学习。

  824. 雪候鸟
    雪候鸟 October 24, 2011

    @istrone ReflectionExtension::getClasses

  825. istrone
    istrone October 24, 2011

    对于任何一个安装了的PHP扩展。我想知道他里边提供了哪些类,应该如何获得呢?不是查文档,用代码实现,类似get_extension_funcs这种。有没有办法可以实现呢?

  826. Sun
    Sun October 21, 2011

    php cairo 那个的文档不全啊 什么时候能出

  827. flash866
    flash866 October 20, 2011

    能否把fileSize函数改进一下,现在无法通过PHP本身获取超过4G文件的size。

  828. ihwt
    ihwt October 20, 2011

    小弟生手,想配置windows+nginx+php,但是php-cgi.exe 访问多了,自动退出,不知道怎么解决

  829. Terry
    Terry October 19, 2011

    Yaf 启用命名空间口,存在一些问题,如:类 Yaf_Bootstrap_Abstract 在启用后为 Yaf\Bootstrap\Abstract .而该类名Abstract 与关键字冲突了。

  830. qqq
    qqq October 18, 2011

    请问下鸟哥 博客中的代码显示是使用的是什么插件?

  831. Terry
    Terry October 18, 2011

    @雪候鸟
    理解了,我这里实际上显示的页面中是没有传递参数的;确实是autoRender 的结果。
    render 是返回渲染结果,而 display 才是渲染并输出数据。
    谢谢。

  832. 雪候鸟
    雪候鸟 October 18, 2011

    @Terry 另外, 有没有可能你没有关闭自动render, 所以导致在自动render的时候, 访问不到page(自动render的时候, 并没有传递page参数)

  833. 雪候鸟
    雪候鸟 October 18, 2011

    @Terry 请问你用的是哪个版本?

  834. Terry
    Terry October 18, 2011

    Yaf
    我是用下面代码:
    ————–
    class IndexController extends Yaf\Controller_Abstract {
    public function IndexAction() {
    $this->_view->assign(‘page’,array(‘title’=>’测试’));
    }
    }
    ————
    在页面中能够正常的访问 $page 变量。
    而若使用西面:
    ————–
    class IndexController extends Yaf\Controller_Abstract {
    public function IndexAction() {
    $this->render(‘index’, array(‘page’=>array(‘title’=>’测试’)) );
    }
    }
    ————
    则不能访问该变量(提示未定义),请问是什么原因?
    (以上代码为默认的视图引擎,与手册中的HELLO WORLD相同)

  835. 小鑫
    小鑫 October 12, 2011

    http://phperstar.sinaapp.com/ 这个是我的博客,放到SAE上面,由于之前做的是缓存技术,但是SAE不支持对本地文件的读写权限,请问有什么好的办法解决吗?

  836. aloxc
    aloxc October 9, 2011

    请问,你是怎么做的域名备案啊?

  837. 雪候鸟
    雪候鸟 October 8, 2011

    @Terry 确认是bug, 是2.1.2引入的, 已经修复, 多谢 🙂

  838. Terry
    Terry October 8, 2011

    你好。
    YAF 框架使用时发现一个BUG,实现 Yaf_View_Interface 后的新的视图类通过 Bootstrap->setView 后,构造函数确实调用了,但是自动的渲染过程并没有调用。还是调用了原来的 Yaf_View_Simple->render.
    yaf_controller.c 的 #121 #123 #158 #160 行调用view->render 函数 class_entry(第二个)参数均为:yaf_view_ce 宏,而这个宏在 yaf_view.h 中被定义为 yaf_view_simple_ce。 因为此处 yaf_view_simple_ce 指的是类 Yaf_Simple_View, 函数调用了 Yaf_Simple_View->render.
    我对PHP扩展不是太懂,不知道说的对不对,期待回复。

  839. 雪候鸟
    雪候鸟 September 27, 2011

    @liyh 这个不是我设定的, 是sae提供的 🙂

  840. 雪候鸟
    雪候鸟 September 27, 2011

    @Fishman 这是wp的一个插件. 你可以随便google下就能找到

  841. 雪候鸟
    雪候鸟 September 27, 2011

    @Me.strone 谢谢, 会在pecl的文档中修正. 🙂

  842. yuhai00
    yuhai00 September 27, 2011

    hi你好,现在很多地方面试都要问写没写过php的扩展。不太理解,有哪些项目会让自己去写php的扩展呢?php的函数已经很全面了。php的扩展有没有机会去写。helloword倒是能写。
    有点疑惑。

  843. liyh
    liyh September 26, 2011

    请问,如何在sae上面绑定自己的域名啊,谢谢!

  844. 游客
    游客 September 13, 2011

    问个问题:php 有方法捕获致命错误 谢了

  845. Fishman
    Fishman September 2, 2011

    是否能請問版主, 您的TAG是如何辦到的(索引球)
    您的網頁令我收穫良多, 感謝您的知識分享^^

  846. Forever
    Forever August 19, 2011

    博主,有没有关于PHP内存管理的详细资料呢
    最近关注这一块。
    因为我在一个需要处理大数据数组时候,导致内存溢出了。我发现在调用完函数,内存依然没有释放掉。
    最终导致溢出。
    持续关注你的微博。谢谢

  847. chengxuan
    chengxuan August 18, 2011

    我看了一下yaf框架,这是我几年前就想实际的东西。看到现在有人实现了真是兴奋。有个建议,就是把所有的类与方法,用PHP写成空的,并写有详细注释,这样,放在IDE的include_path中,就可以实现代码提示了

    • 雪候鸟
      雪候鸟 August 18, 2011

      @chengxuan 恩, 已经有了, 回头我放到发布包里.

  848. edward
    edward August 18, 2011

    请教nginx如何隔离虚拟主机呢?
    一直以来都是用的apache,因为毕竟安全和稳定,而且也用得久了。
    最近尝试nginx,却发现没有很好的办法来隔离虚拟主机。
    baidu了一下,不是要修改源码,就是要写分组的脚本(此方法我不太喜欢,因为还涉及FTP的问题,要做到用户组统一)

  849. yoyo
    yoyo August 16, 2011

    大侠,有介绍PHP内存模型的文章吗?
    我很疑惑,PHP什么时候释放对象/变量/等的内存,

  850. winting
    winting August 14, 2011

    你好大侠:
    请问一下:
    我php连接mysql,没有使用set names gbk,但是my.ini配置了使用default-character-set=utf8,但是数据保存进去好像是默认使用Latin1.
    不知道是不是set names gbk没有使用,就默认是用Latin1,而跟 my.ini没有太多关系.

  851. fwguocn
    fwguocn August 7, 2011

    您好!
    我计划搞一个基于开放平台的电子商务应用,但是不会编程。
    您,或者您的朋友,有愿意合作的没?能作为长期合作伙伴最好。谢谢!
    我的QQ:2546758936

  852. 山鹰
    山鹰 August 6, 2011

    sae 怎么绑定独立域名的?

  853. alley
    alley July 28, 2011

    无意间从WooYun闯入前辈空间,观文膜拜之。

  854. Laughing
    Laughing July 21, 2011

    你好请问你一个问题~
    为什么这样提交后会把a.php后面带的参数都清掉了??
    我想知道浏览器是出于什么原因浏览器需要清掉ACTION指定的路径所带的参数?
    谢谢~

  855. 雪候鸟
    雪候鸟 July 14, 2011

    @Flavia 很高兴认识你, 不过我现在身边真没有朋友在找工作, 谢谢, 呵呵.

  856. Flavia
    Flavia July 13, 2011

    我是王怡岑,目前在一家奢华游抢购网站PrivePass作实习,我们公司虽然刚起步,但核心团队都是常春藤名校的优秀毕业生。
    现在我们急缺网络工程师帮助建站,我们的加拿大CTO看到了你的blog,跟我说你这样钻研的绝对是人才,想让我问你是否愿意来我们这里工作(应该是不行吧呵呵)?或者身边是否有可以推荐的高手?
    因为很急,对人才又很重视,所以待遇很好,而是是作为核心团队的一分子。
    如果您能给我回,我就感激不尽了~~

  857. 拥抱变化
    拥抱变化 July 11, 2011

    拥抱变化,作何解释

  858. Sean
    Sean July 5, 2011

    鸟哥,能再更新下东方时尚脚本不…实在是约不上…

  859. winting
    winting July 4, 2011

    document.getElementById(“btn”).onclick = function () {
    var input = document.createElement(‘input’);
    input.setAttribute(‘type’, ‘text’);
    input.setAttribute(‘value’, ‘test1’);
    document.getElementById(‘test’).appendChild(input);
    input.focus();
    input.select();
    /*
    setTimeOut(function () {
    input.focus();
    input.select();
    }, 0);*/
    }
    在IE7.0, FF3.6 下测试加入跟没人加入好像没有差别(指获的focus 跟 select 事件). 不知道是不是现在的浏览器有做优化什么?

  860. winting
    winting July 3, 2011

    大侠你好,
    深入理解JavaScript定时机制 说 浏览器内核实现允许多个线程异步执行,这些线程在内核制控下相互配合以保
    持同步.假如某一浏览器内核的实现至少有三个常驻线程:javascript引擎线程,界面渲染线程,浏览器事件触发
    线程?
    但是我从高性能javascipt书中看到 浏览器ui线程主要是负责javascript执行跟ui更新,同一个时间里只能一
    个执行。
    我想知道就是跟上面的三个常驻线程有什么联系?
    界面渲染线程跟ui更新是同一个?
    javascript执行跟javascript引擎线程是同一个?

  861. fcten
    fcten June 29, 2011

    关注贵博客很久了~不知可不可以做个链接?
    星空博客,http://blog.logx.org

  862. 雪候鸟
    雪候鸟 June 26, 2011

    @tomfox PHP并不是不支持多线程, PHP也能运行在多线程的Webserver下, 本身有ZTS, 你的这个需求可以考虑用c内嵌PHP的模式来做, 可以参看PHP embed SAPI.

  863. tomfox
    tomfox June 26, 2011

    现在需求是这样的:
    php,web端作为服务器的客户端,接收服务端(C++写的)发送的Socket,web客户端来处理这些接收的Socket,并发送应答包至服务端。web客户端需要和服务端建立长连接,使用心跳包来维持这个长连接。
    但是PHP本身不支持多线程,对这个需求有没好的建议?

  864. nroe
    nroe June 20, 2011

    博客上做了链接,关注中。。。

  865. Neon
    Neon June 7, 2011

    谢谢鸟哥解答。
    “编码格式”……还有很长的路要走阿。

  866. winting
    winting May 26, 2011

    服务器推送 comet.
    服务端死循环,等待有资料才反馈给客服端.

  867. winting
    winting May 26, 2011

    大侠你好:
    请教一下:
    第一个发送异步 ajax 是长连接.
    第二个发送异步 ajax 是普通,马上响应的.
    现在有一个问题就是: 第一个还在运行中是,手动 发送第二个普通ajax,
    但是第二个没有办法直接响应,还得等待第一个完成,才能接受数据. 有没有办法不要等待第一个结束,直接接受到数据.

  868. Neon
    Neon May 26, 2011

    嗨,鸟哥,能请教一个问题吗?
    如下:
    能否使用PHP对图像进行二次操作,让图像包含类似于 GIMP/PHOTOSHOP 处理过的图像一样包含 “create by GIMP”之类的注释信息。要是这个注释信息还不能被再次更改就更好了。
    希望能在您这里得到个解决方案或者思路,非常感谢……

    • 雪候鸟
      雪候鸟 May 31, 2011

      @Neon 当然可以了, 最不济的方法, 也可以在你了解了这些信息在图片中的编码格式后, 用PHP直接写入二进制文件中

  869. heguangyu5
    heguangyu5 May 25, 2011

    嗯,知道原因了,谢谢啊。

  870. heguangyu5
    heguangyu5 May 25, 2011

    Hi,你好。关注你的博客很久了,发现你研究东西很深啊。有个php正则的问题想请教一下。
    // 以下的冒号有中文冒号和英文冒号
    1.preg_match(‘/A[::]B/’, ‘A:B’, $matches);
    2.preg_match(‘/A[::]+B/’, ‘A:B’, $matches);
    3.preg_match(‘/A[::]B/’, ‘A:B’, $matches);
    4.preg_match(‘/A:B/’, ‘A:B’, $matches);
    1-匹配失败
    2-匹配成功
    3-匹配成功
    4-匹配成功
    问题就是当在”[]”中有中文冒号(中文字符也一样)时,如果在”[]”后边加了”+”就能匹配成功,如果不加”+”就匹配失败.很疑惑这是什么原因导致的,能帮忙分析一下吗?

  871. winting
    winting May 19, 2011

    试了一下在 nginx 反而是可以运行。

  872. wintng
    wintng May 19, 2011

    你好大侠:
    reigster_tick_function 在window下php版本是5.2.6, 运行中 apache 会荡掉? 是不是window没有办法运行这个?

  873. jakquan
    jakquan May 13, 2011

    对于php新手如何尽快的成长,您有什么好的建议和经验可以与大众分享一下么?!

  874. cindy
    cindy May 12, 2011

    Hi 您好!
    可以请教一个问题吗?我们用ajax提交form表单,但是在后台获取数据的时候提交的数据被自动转译了 ” => \”, 我dump了get_magic_quotes_gpc()
    get_magic_quotes_runtime()
    get_magic_quotes_sybase()
    得到的结果都是0.
    还有什么设置会造成这样的结果吗?
    谢谢
    cindy

  875. blue5tar
    blue5tar May 9, 2011

    @雪候鸟 鸟哥 把你参加“2011php技术峰会”的PPT 共享下呗 嘿嘿

  876. lan7
    lan7 May 3, 2011

    5月7号, 就能听到大侠的专题演讲了, 很期待.
    交个朋友吧.

  877. winting
    winting April 27, 2011

    谢谢大侠.

  878. 雪候鸟
    雪候鸟 April 27, 2011

    @winting 单线程, 是不需要, 😉

  879. winting
    winting April 27, 2011

    连接地址:http://www.laruence.com/2009/09/23/1089.html
    题目: 深入理解JavaScript定时机制
    div.onclick = function(){
    setTimeout(function() {
    document.getElementById(‘inputField’).focus();
    }, 0);
    };
    大侠你好, 请教一下。
    document.getElementById(‘inputField’).focus();
    这个会不会产生一个GUI事件触发线程,写到某个时间段。
    (对于JavaScript引擎线程来说,这事件是由其它线程异步传到任务队列尾的,由于引擎正在处理t1时的任务,这个鼠标点击事件正在等待处理。)
    是的话,就不用 setTimeout。
    有点迷糊

  880. 雪候鸟
    雪候鸟 April 26, 2011

    @Sonia ZEND_API int zend_stack_init(zend_stack *stack)
    ZEND_API int zend_stack_push(zend_stack *stack, void *element, int size)
    ZEND_API int zend_stack_top(zend_stack *stack, void **element)
    ZEND_API int zend_stack_del_top(zend_stack *stack)
    ZEND_API int zend_stack_int_top(zend_stack *stack)
    ZEND_API int zend_stack_is_empty(zend_stack *stack)
    ZEND_API int zend_stack_destroy(zend_stack *stack)

  881. Sonia
    Sonia April 26, 2011

    Hi, 不好意思,又要打扰您了~
    我想问一下,在我们写php extension的时候,zend 有提供STACK 的API 吗? 还是需要我们自己写stack?
    非常感谢

  882. Pengfei Zhang
    Pengfei Zhang April 21, 2011

    我很佩服你的学习能力。从2006年初识互联网,2007年入雅虎,2008年入百度。确实是牛人!

  883. feng
    feng April 19, 2011

    我发现和博主完全不是一个档次啊,大部分文章都看不懂,唉,真不知道博主怎么学的,什么时候能达到博主的水平啊。。。

  884. 18yes
    18yes April 5, 2011

    有一个问题困扰半个月了,一直没有解决。关于浏览器方面的问题,test. xmitu an.com 这个在新订制了一套团 、购模板。用的最/土的的程序。别的模板下面一切正常。从后台切换回新模板。就出现鼠标指针乱跳的问题。360 QQ 搜狗 Tt这类浏览器下面特别眨眼。症状是,当页面加载完成后,状态栏上的加载项,一直从四百多,跳到0的,时候,鼠标才停止跳动。影响用户体验。。在ie9 FF 下面却很正常。试过很多方法,问题还是没有解决。。在这里求助一下,希望大师。。。帮忙给指点一下。

  885. blue5tar
    blue5tar April 4, 2011

    @雪候鸟 确实是那个问题 谢谢你!

  886. blue5tar
    blue5tar April 4, 2011

    “hello”);
    $newArr = (array)json_decode(json_encode($arr));
    print_r($newArr);
    echo $newArr[“1”];
    请帮解释下 为什么$newArr可以打印出 但是$newArr[“1”] 打印不出来

  887. Eric
    Eric April 2, 2011

    Laruence,首先要感谢你,我去年在东方时尚学车,全靠你的约车脚本。另外就是我朋友现在也要学车,可是我发现东方时尚改版了,变化很大,原来的脚本不能用了,你看能不能升级一下,多谢!

  888. sxr5
    sxr5 March 24, 2011

    顺便留下邮箱5ssy@163.com

  889. sxr5
    sxr5 March 24, 2011

    大牛,你的TAGS不会是纯CSS实现的吧,不知道能不能看看代码,如果方便的话

  890. sandy
    sandy March 16, 2011

    大牛你好厉害!

  891. 雪候鸟
    雪候鸟 March 8, 2011

    @Sonia 这个有不一定, 有的可能因为是使用方式的原因,比如对直接读写$_SESSION的包装, 有的是因为自定义SESSION存储引擎的原因. 要看具体的实现逻辑才能猜测它的用意.

  892. Sonia
    Sonia March 8, 2011

    博主你好,又来麻烦你了~
    我最近在研究很多开源的PHP网络应用, 发现不是所有的都用了session_start(), 比如说phpBB 就是使用自己的一套session 机制,而不是使用php 本身提供的session机制,你知道这是为什么吗?
    非常感谢:)

  893. 咸鱼
    咸鱼 March 7, 2011

    怎么少了一句话啊?
    博主可以传授一些让我能学得深的方法不?如不吝赐教,将感激涕零!

  894. 咸鱼
    咸鱼 March 7, 2011

    大侠,我好崇拜你啊,我就想成为你这样的会得很深的人,我也在弄php,只不是不深,今天无意中来此,特留言记之,以表心中激动。收藏研究!

  895. fc_lamp
    fc_lamp March 3, 2011

    哦,大虾~~ 确实是如此,我用xdebug打印出来看:
    $a = ‘abc’;
    $b = $a;
    xdebug_debug_zval(‘a’);
    $aa = ‘abc’;
    $bb = &$aa;
    xdebug_debug_zval(‘aa’);
    结果为:
    a:
    (refcount=2, is_ref=0),string ‘abc’ (length=3)
    aa:
    (refcount=2, is_ref=1),string ‘abc’ (length=3)
    只不过一个是引用型的变量

  896. fc_lamp
    fc_lamp March 2, 2011

    大虾~~你好~~
    我想问一个问题,这个问题迷惑我好久了:
    第一种:$a = $b;
    第二种:$a = &$b
    恩,我想问问题它们到底有何区别?
    我的意思是说:$a = $b这样写时,当$b的值没有变化时,$a与$b是关联着同一个变量容器吧?直到$b有了新值后。
    那么就是说:在$b有了新值之前,$a = $b 与 $a = &$b
    是一样的吗?

    • 雪候鸟
      雪候鸟 March 2, 2011

      @fc_lamp 恩, 是一样的, $b=$a, 那么实际载体zval是refcount=2, 而$b=&$a, zval是refcount=2, is_ref=1,

  897. gsid
    gsid February 14, 2011

    @雪候鸟 多谢!

  898. 雪候鸟
    雪候鸟 February 14, 2011

    @gsid 这是个wp的插件,叫做”WP-Cumulus”

  899. gsid
    gsid February 13, 2011

    博主大大,请问 你的Tags球状翻滚效果是如何实现的呢?
    有类似的教程吗?
    多谢!祝新年快乐,财源广进!

  900. 雪候鸟
    雪候鸟 January 20, 2011

    @Sonia 我在怀疑你是否应该把他们分成多个Ext, 如果时, PDO和pdo_mysql应该和你的应用场景类似, 你可以参考

  901. Sonia
    Sonia January 20, 2011

    Hi, 再补充一句,我希望A extension 能共享B extension 里定义的global variable.
    谢谢 :)
    Sonia

  902. Sonia
    Sonia January 20, 2011

    Hi, 谢谢你的回答,但是我可能没有表述清楚,我的想法不是单纯 A extension 使用 B extension 定义的function, 而是 A extension 其实要和 B extension 并发运行的,其中A 要call B extension 中的 function b(), 并且call b() 的时候可能会改动 B 自己的global variable 里的一个值 (int val), 如果我在A 中加上了B 的头文件,这个是可以实现的,但是问题就是会给A extension 很多别的权限,比如说应用 定义在B extension 里的 function c().
    有其他的方法可以实现这个想法吗?
    问题可能很傻很幼稚,非常不好意思。。。。。
    谢谢你的回答了:)
    sonia

  903. 雪候鸟
    雪候鸟 January 20, 2011

    @Sonia 那和普通的c动态库开发一样啊, 提供者申明导出, 使用者extern

  904. Sonia
    Sonia January 20, 2011

    Hi, 谢谢你了,runkit 代码很有帮助.
    还有一个小问题: 如果我写了extension A ,extension B. A 中定义了function a(); B中定义了function b(); 如果A 想应用B 中的function b(), 以及 extension B 中的global variable , 除了在A 中加入B 的头文件以外,还有其他办法吗? 因为我希望A 能且仅能应用 function b() 以及 global variable. (以上操作都是extenstion 的开发,不涉及php script.)
    谢谢你了,期待你的回复~
    Sonia

  905. 雪候鸟
    雪候鸟 January 17, 2011

    @Sonia 1.可以采用改写函数表的方法, 找到session_start函数, 然后hack掉, php有一个扩展叫做runkit的, 就是这么做的. 2. 会的.

  906. Sonia
    Sonia January 17, 2011

    Hi, 你好,关注你的博客有一段时间了,你对php 分析非常深刻,我受益匪浅, 表示感谢。
    我在学习php extension 的过程中遇到了两个问题,希望你帮忙解答一下:
    1. 我新写了一个extension, 名为 xyz, 然后我想在这个extension里面定一个API名为 session_start(), 我们都知道 session extension 里也有一个 session_start(), 我希望我的session_start() 能够覆盖 session extension 里的 session_start(), 前提条件是不改动原有的session extension, 或者做非常微小的改动。 就目前 php-5.3.3 版本,有可能有办法实现吗?(我自己在不改动session extension 的情况下实现了一下重名,发现重名会导致php 奔溃。)
    2. 我新写了另外一个php extension, 名为abc, zend_execute =my_execute ; 在my_execute 里,我使用了php_error_docref(….), 那么我想知道,在执行了php_error_docref(….) 之后,PHP_RSHUTDOWN()还会再继续执行并帮助清空当前请求的变量吗?
    非常希望您能帮助我,忘您在闲暇时间帮我解疑答惑
    Sonia

  907. signdbg
    signdbg January 12, 2011

    hi,你好
    我在liunx下编辑好yaf,php查看是插件已经载入,但是用那个example的列子,提示Yaf_Bootstrap类不存在,
    想请教一下。

  908. xishuai
    xishuai January 5, 2011

    大牛,你的yaf的文档不能访问了。。。

  909. dth801
    dth801 December 23, 2010

    我是一楼 来向大牛求助… 不知道有没搞过Mysql数据的字符集转换? 我需要从utf8_general_ci 转到 gbk_chinese_ci 求助求助~~~~

  910. zlsky
    zlsky December 16, 2010

    写一本书吧.
    把资料组织一下.

  911. laruence
    laruence December 14, 2010

    @quguangke Hi, 刚才我在迁移,,现在换了个VPS, 多谢反馈, 好人啊. 😉

  912. quguangke
    quguangke December 14, 2010

    Laruence 你好,我在学习你的文章的时候发现有些文章服务器出现404错误…… :(

  913. zerofire
    zerofire December 7, 2010

    呵呵,看了半天,最后看到你BLOG的TITLE才知道是雪候鸟,以前混过落伍吧,那时候估计还是小孩,现在看你的文章发现成熟了:)

  914. 不会
    不会 December 2, 2010

    高手帮忙升级一下约车系统吧,不能刷新太麻烦了。
    我给你发邮件怎么不行呀,提示我不能接收。

  915. fortruth
    fortruth November 23, 2010

    Hi, laruence.
    请教一个 PHP 正则表达式的问题。
    就是 (.*?) 与 (.*) 这两个表达式的匹配结果有什么不同。
    http://news.qq.com/a/20101119/001058.htm 中的内容做下面例子的测试时。(.*?) 能匹配,而 (.*) 不能匹配。
    http://www.laruence.com/guestbook 做测试时,两者都可以匹配。
    $str = file_get_contents(“http://news.qq.com/a/20101119/001058.htm”);
    preg_match_all(“/(.*)(<body.*)(.*)/is”, $str, $arr);
    preg_match_all(“/(.*?)(<body.*)(.*)/is”, $str, $arr);
    print_r($arr);

  916. xinshou
    xinshou November 19, 2010

    希望你能在闲暇之余和我交流一些知识。。。。http://comm.dangdang.com/review/reviewpost.php?product_id=20857859

  917. johnliu
    johnliu November 19, 2010

    能加一个友情链接吗?呵呵

  918. 玛戈
    玛戈 November 18, 2010

    有QQ吗?交流一下?我的:30203999

  919. tt
    tt November 11, 2010

    这样啊。。。还是谢谢你拉~

  920. tt
    tt November 11, 2010

    请帮忙再升级一下东方时尚的约车脚本好吗?

    • 雪候鸟
      雪候鸟 November 11, 2010

      @tt @xuedi 我今天去看了下, 东方时尚现在改版成不容许刷新, 变化比较大, 要修改需要点时间.. sorry

  921. john
    john November 10, 2010

    windows下php使用system()调用其它程序,造成apache进程锁死,怎么解决呢???

  922. xuedi
    xuedi November 9, 2010

    我提供东方的约车账号和密码可否帮忙更新下你约车脚本请给我你的邮箱地址

  923. 雪候鸟
    雪候鸟 November 8, 2010

    @buhui 我没有约车账号了..看不了啊.

  924. buhui
    buhui November 7, 2010

    东方的约车系统右升级了。求高手帮忙解决。

  925. jenry
    jenry November 2, 2010

    嗯、谢谢大哥指点了。。前天我qq身份验证忘记取消了。⊙﹏⊙b汗

  926. 雪候鸟
    雪候鸟 November 1, 2010

    @jenry 目前唯一能推荐的也只有sara的”extending and embedding PHP”了. 这方面的资料很少.

  927. jenry
    jenry November 1, 2010

    兄弟、这个忙只有你可以帮助我。给推荐一本书、就是把深入了解php的,也就是像你现在一样,把php机制全了解透彻的,c语言以前学过。有什么好书拜托给透露一下啊。。先谢谢了、如果可以。加我qq:594866059

  928. fifar
    fifar September 29, 2010

    给博主发邮件了,请查收

  929. Corbin
    Corbin September 28, 2010

    Very informative post. Thanks for taking the time to share your view with us.

  930. hy0kl
    hy0kl September 8, 2010

    Hi,博主的百度 hi 能否给在下发一下?

  931. 雪候鸟
    雪候鸟 September 4, 2010

    @Zenc 有输出缓存, 你可以google ob_flush/flush获得更多信息.

  932. ZenC
    ZenC September 3, 2010

    <?php
    for($i=0; $i<5; $i++) {
    echo $i.'’;
    sleep(1);
    }
    ?>
    L大牛,请教个问题,这个为啥不是输出一个$i,,停顿一下,然后再输出下一个$i,一次类推;而是在页面加载的时候会首先sleep整个循环次数秒,最后再一并把$i输出来,有点奇怪,呵呵

  933. wclssdn
    wclssdn August 27, 2010

    我写了个程序. 花了很多精力… 打算指它创业呢- –
    但是想发布的时候发现.. 加密PHP的程序 都能被破解.. 而唯一不能被破解的.. 就是zendguard5.10了… 可内个还是收费的- –
    希望大哥. 能帮帮我.. 感激不尽…..

  934. 所以php
    所以php August 21, 2010

    麻烦加个链接好吗?您的链接我已做好http://www.sophp.cn

  935. ryan
    ryan August 18, 2010

    Laruence,你好,我想对php代码做静态检查,类似与c语言的代码静态检查,你有什么推荐的工具吗? 我之所以想做静态检查,是因为发现很多的bug是由于拼写错误或者漏写了某个东西造成的。对于这种bug你有什么推荐的方法吗?

  936. 雪候鸟
    雪候鸟 August 4, 2010

    @pplxh 哎呀, 荣幸啊, 美女工程师来访…

  937. pplxh
    pplxh August 4, 2010

    admire!!

  938. zyideal
    zyideal August 1, 2010

    <?php
    class CI_Base {
    private static $instance;
    public function CI_Base()
    {
    self::$instance =& $this;
    }
    public static function &get_instance()
    {
    return self::$instance;
    }
    }
    function &get_instance()
    {
    return CI_Base::get_instance();
    }
    class a extends CI_Base
    {
    public function __construct()
    {
    echo get_class(get_instance());
    }
    }
    /**
    *
    */
    class b extends CI_Base
    {
    function __construct()
    {
    echo get_class(get_instance());
    }
    }
    new a();
    echo "”;
    new b();
    ?>
    这段代码给看晕了,请大师指点一下,为什么get_instance()这个函数,在CI_Base的任意子类中,都可以得到不同的类名字.感觉get_instance这个函数怎么变的这么神了

  939. blue5tar
    blue5tar July 30, 2010

    @雪候鸟 非常感谢你的回答 等着你的文章 呵呵

  940. blue5tar
    blue5tar July 29, 2010

    有个问题请教您一下:
    \’WARNING\’, E_PARSE => \’PARSE ERROR\’, E_NOTICE => \’NOTICE\’);
    $prefix = isset($arrPrefix[$errno]) ? $arrPrefix[$errno] : \’ERROR\’;
    echo $prefix . \”\”;
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
    return true;
    }
    function exceptionHandler($ex) {
    echo \”exception\” . \”\”;
    echo $ex;
    }
    set_error_handler(\’errorHandler\’);
    set_exception_handler(\’exceptionHandler\’);
    //strpos();
    require(\”444.php\”);
    //include(\”444.php\”);
    echo \”\” . \”continue..\” . \”\”;
    当我用require时 没有抛出异常 我猜可能是因为产生了一个致命错误的原因 但是分析不明白 请我帮我看看好吗?谢谢

    • 雪候鸟
      雪候鸟 July 30, 2010

      @blue5tar 因为set_user_handler不能捕获E_COMPILE_ERROR, 这种ERROR会直接导致退出, 具体来说, require如果不存在, 会抛出俩个错误, 一个是warning, 一个是compile_error, 你能捕获的是第一个, 也就是warning, 但是紧接着是第二个, 这个时候退出了, 因为未捕获异常是再页面的最后才执行, 如果还有不懂的, 我周末详细写个文章说说, 你注意关注.

  941. liuyongjun
    liuyongjun July 28, 2010

    谢谢博主,看来要是需要写权限操作时,做成扩展是行不通的,那只有使用php 来调用 c写的外部程序 此道路了!

  942. 雪候鸟
    雪候鸟 July 28, 2010

    @liuyongjun 既然你也知道不安全, 怎么还会有这种需求呢? php.ini PHP只是读, 另外做为apache的module的话, 会在master进程启动的时候读, 可以说, 此路不通

  943. liuyongjun
    liuyongjun July 28, 2010

    谢谢,毕竟以root身份运行php不安全,另找找 其他扩展里面源码,看php 是怎么写php.ini.

  944. liuyongjun
    liuyongjun July 27, 2010

    博主 :请教下 ,有什么方法以root身份运行自己写的一个php扩展吗!因为,我扩展里面要调用 shell 和 perl!

  945. 吕滔
    吕滔 July 24, 2010

    不会吧!@你就是传说中的鸟哥???
    那个出。。。。 linux 学习手册的鸟哥。。。
    太葱白你了。。。。

  946. 陈四丰
    陈四丰 July 6, 2010

    @雪候鸟: 你好,经常关注你的博客。看得出你对JS有深刻的理解。在此想请教个大家普遍遇到,但始终没发现答案的问题。
    一个form中有多个submit,我想知道哪个submit激活的form event,并返回submit的name和value值。
    我的思路和这个博客写的差不多。http://irama.org/news/2009/03/25/who-started-it/
    但这里的方法不能在webkit浏览器(chrome, safari)运行。
    请问是否有办法解决呢?先谢过

  947. 库从志
    库从志 July 2, 2010

    上次请教的问题就是:mysql_ping一直没有连上,一直返回false。
    if(!mysql_ping($this->connect))
    {
    $this->connect();
    。。。。
    }
    后来我将mysql中的interactive_timeout参数改大了一些,还是不行。
    现在在connect之前加了一个mysql_close语句,还得测测看看效果。
    谢谢你啊

  948. 雪候鸟
    雪候鸟 June 29, 2010

    @tony 只要有人退, 你就能约到, 呵呵, 耐心的等等吧

  949. tony
    tony June 29, 2010

    明白了,我刚刚忘了点“添加”,呵呵。
    现在可以了,看见页面自己不停的在闪啊闪啊,今天周二,周日的车昨天就没了,我现在约这周日的车不知道得闪到什么时候啊。。无论如何,非常感谢!

  950. tony
    tony June 29, 2010

    非常感谢,约车软件可以看到弹出框了。
    还有个小问题请教:选好时段点了“约车”后,弹出对话框提示“全部预订完成”,请问我怎么才能知道车是否已经约上,以及如何取消和变更约车计划,谢谢!

  951. 雪候鸟
    雪候鸟 June 28, 2010

    @z.en 用的是shjs-highlighter 和 ir_black 配色.

  952. 雪候鸟
    雪候鸟 June 28, 2010

    @库从志 你好, 是否是因为mysql_connect连接失败, 然后又charset为真, 导致mysql_connect->execute->ormmysqlparser::connect->mysql_connect循环嵌套.

  953. 雪候鸟
    雪候鸟 June 28, 2010

    @nsdy 我也是经历了多次被维护以后, 选择了国外的空间.

  954. 雪候鸟
    雪候鸟 June 28, 2010

    @tony 你看看你登录的网站url是否在脚本include里面(打开脚本可以看到)

  955. tony
    tony June 28, 2010

    兄弟,那个东方时尚约车的插件用火狐浏览器安装插件并点击按装后,登录约车网站并没有弹出那个框框,是不是又改版了啊。。。

  956. nsdy
    nsdy June 28, 2010

    那个 兄弟问下 我也是做网站的 想要请问你使用的是那里的空间… 我的网站被电信屏蔽了。。。郁闷 想要换个空间 看你的一直很稳定 所以问问。。。

  957. 库从志
    库从志 June 25, 2010

    问你一个问题哦! 在程序运行的时候碰到的。
    我需要跑后台的一段脚本,但是数据库中连不上啦, 博主看一下简单的代码, 请给点意见
    class OrmMysqlParser
    {
    function connet()
    {
    $this->connect = mysql_connect(……);
    if(isset($charset))
    {
    $this->execute(“set names $charset”);
    }
    }
    function execute($sql)
    {
    …..
    if(!mysql_ping($this->connect))
    {
    $this->connect();
    }
    …….
    }
    }
    最后程序执行报超过一百层的循环,就是mysql_ping没有成功, 是因为后台跑的时间过长吗 但是mysql inactive_timeout设置的8,现在我要求改了512。问一下mysql_ping不是可以重新连接上的吗?怎么会出现这么一个循环

  958. z.en
    z.en June 24, 2010

    你的文章内源代码用的什么插件?

  959. z.en
    z.en June 24, 2010

    你的文章内源头代码用的什么插件?

  960. tearrain
    tearrain June 17, 2010

    太牛了,偶像啊~

  961. 库从志
    库从志 June 6, 2010

    博主,技术很牛啊

  962. 雪候鸟
    雪候鸟 June 6, 2010

    @阿羽 如果确认不是权限的问题, 那么我猜测有如下的可能, 因为PHP在处理相对路径的文件的时候, 会根据”当前工作目录”这么一个变量来执行, 而在关闭函数的时候, 这个变量被不正确的释放了, 导致出错. 当然,在linux下,起码5.2.4,5.2.11没有这个问题

  963. 雪候鸟
    雪候鸟 June 6, 2010

    @阿羽 我的意思是, 比如你的这个脚本是b.php, 而是在其他目录的a.php包含, 所以在执行的时候, 应该是往你运行这个脚本的入口的当前工作路径写, 这样会造成目录不同, 所以有权限的可能. 在Linux下我测试了5.2.4, 5.2.11都没有问题.

  964. 阿羽
    阿羽 June 6, 2010

    如果是权限问题,那为何改成绝对路径就可以了?
    都是在同一个目录下,只是一个是相对路径,一个是绝对路径而已。所以我觉得是register_shutdown_function这个函数的问题,我看PHP源代码非常吃力,所以来问问你。

  965. 阿羽
    阿羽 June 6, 2010

    @雪候鸟:
    不是权限问题,因为直接运行test()这个函数,可以写入
    但如果用register_shutdown_function(‘test’);就根本不运行file_put_contents那一句

  966. 雪候鸟
    雪候鸟 June 6, 2010

    @技术门户网站 Hi, 你好, 不好意思啊, 我这小站就是链接几个朋友, 回头我整理个专门的link区来, 到时候帮您添加.

  967. 雪候鸟
    雪候鸟 June 6, 2010

    @Anonymous Hi, 如果不指明路径, 那么默认是在脚本的当前执行路径下写入mytime.txt, 是否是因为没有写入权限所致?

  968. Anonymous
    Anonymous June 6, 2010

    register_shutdown_function(‘test’);
    function test(){
    echo ‘test text’;
    $out = date(‘Y-m-d H:i:s’,time());
    file_put_contents(‘./mytime.txt’,$out);
    }
    =================================================
    能否解释一下,上面那代码中的file_put_contents为什么不执行,也不报错。
    如果改成 file_put_contents(dirname(__FILE__).’/mytime.txt’,$out)就可以了。
    我的是运行环境是WIN XP +PHP 5.2.6,没在linux下测试过,

  969. kuncai
    kuncai June 3, 2010

    牛了B了,就《PHP类型转换相关的一个Bug》这篇文章不能留言滴???

  970. kuncai
    kuncai June 3, 2010

    怎么找不到文章评论的输入框哩

  971. 草民
    草民 May 26, 2010

    你是传说中的php大牛!!!!!能收我做徒弟吗。

  972. konakona
    konakona May 26, 2010

    很喜欢贵站的风格和一系列原创文章,看得出博主是一个很细心且热爱编程技术的狂热份子。
    想跟贵站交换友情链接。
    已经将贵站的连接添加至本站crazyphper.com/wblog/ 上了。
    这个域名才申请一个多月,没有PR值。
    以前的域名过期了(great-panda.net)PR2
    希望能跟贵站一起共同进步。

  973. 小熊
    小熊 April 18, 2010

    小熊发来贺电

  974. joverms
    joverms April 1, 2010

    版主用的什么编缉器啊?颜色挺好看的

    • 雪候鸟
      雪候鸟 April 2, 2010

      这个是shjx-syntax-hiliter, 我修改了下添加到了wp上, 另外theme用的是ir_black

  975. luckgo
    luckgo March 19, 2010

    博主,能不能发些关于php与FMS或Red5的文章?

  976. Henson
    Henson March 10, 2010

    不知能不能跟博主建立友情链接呢?
    本站链接地址http://www.tinoweb.cn
    贵站的链接已在本站做好链接。

  977. alfred
    alfred January 22, 2010

    >>>人生,菠菜汤尔
    苦涩

  978. blue5tar
    blue5tar January 18, 2010

    //请教 这个是不是php bug

  979. 好黑呀
    好黑呀 January 18, 2010

    这个站点的空间在哪里买的?

  980. 好黑呀
    好黑呀 January 18, 2010

    这个站点的服务器是哪里买的

  981. erway
    erway January 16, 2010

    博主:你好!
    我是机械工业出版社华章公司(www.hzbook.com,中国IT出版4强)的高级策划编辑杨福川,冒昧打扰了,还请见谅。
    今天无意中从一位朋友的博客中链接到了你的博客中,顿时眼前一亮,原来又发现了一位高人。我一直想策划一本关于PHP源码剖析的书,苦于找不到作者,没想到今天无意中发现了一位大牛,庆幸哉!我仔细拜读了你撰写的关于PHP的文章,看得出来你对PHP颇有研究,似乎对PHP源码情有独钟,何不系统性地来分析一下PHP的源码呢?这不但能造福广大PHPer,也许能成为你人生的一个转折点,哈哈。
    我准备策划一系列关于源码分析的书,目前已经出版和策划的有:
    1. 《Spring技术内幕——深入解析Spring架构与设计原理》,最近刚出版,当当网2天就卖断货。
    2. 《Struts技术内幕——深入解析Struts架构与设计原理》,正在策划中。
    3. 《JVM技术内幕》,正在策划中。
    4. 《MySQL技术内幕》,正在策划中。
    《PHP技术内幕》也是我策划的这套书中非常重要的一本,一直还没有找到比较合适的朋友来写,今日认识了兄弟你,我想也许我找到了这个选题的主人,不知道是否有机会与你合作。为了便于联系,能否交换一下联系方式(MSN:erwa_yang@live.cn;QQ:15693352)?
    期待与你取得联系,期待与你合作。

  982. Henry
    Henry January 13, 2010

    好奇了很久,今天终于忍不住了,请问”人生,菠菜汤尔”是什么意思呢?

  983. z.En
    z.En January 10, 2010

    最近想把域名牵到godaddy,laruence能不能说说国内注册的.com域名如何牵到国外

  984. lixiphp
    lixiphp December 25, 2009

    希望能与博主结识!你的链接我在博客中已经添加。。。

  985. 好黑呀
    好黑呀 December 19, 2009

    中国IT业和电信业是一个搞笑的行业,今天我的服务器上不了了,因为我用家里的ADSL架设的,结果D把我的80端口封了

  986. 好黑呀
    好黑呀 December 19, 2009

    Laruence,能不能介绍几个好的海外主机

  987. Pharmc743
    Pharmc743 December 17, 2009

    Very nice site! [url=http://yieopxa.com/yxyrxtx/2.html]cheap cialis[/url]

  988. 雪候鸟
    雪候鸟 December 6, 2009

    @phper 你要做什么, 问题再详细点? 可以email我. thanks

  989. phper
    phper December 5, 2009

    void test()
    {
    static char *argv[2] = {“myname”, NULL};
    if (php_embed_init(1, argv PTSRMLS_CC) == FAILURE) {
    }
    zend_first_try {
    if (zend_eval_string(“echo ‘foobar’;”, NULL TSRMLS_CC== FAILURE) {
    }
    } zend_catch {
    } zend_end_try();
    php_embed_shutdown(TSRMLS_C);
    }
    在多线程中调用test只有第一个线程中运行是正常的?

  990. Ryan
    Ryan November 27, 2009

    大使,我是个新手,不会玩啊。我已经安装了脚本,但是不知道怎么修改代码…如果不嫌麻烦,请指教一下?

  991. 写点寂寞
    写点寂寞 November 14, 2009

    做个链接吧 我已经给您做好了 ^_^都是PHP爱好者
    网站名称:写点寂寞
    网址:http://www.nonb.cn

  992. cherry
    cherry October 26, 2009

    在你的博客注册了,但是没有收到邮件,可以手动给我发密码邮件吗?

  993. TIGER
    TIGER October 22, 2009

    Laruence你好,我安装了你写的那个东方时尚的自动约车脚本,但是无法执行。因为我不是很懂Javascript的细节,所以我就只改动了include后的网址以及约车时间那两部分,然后用有空余的课时做的测试,载入页面后点了“开始约车”按钮后发现没有反应。你能再指点一下吗?非常感谢:)

  994. z.En
    z.En October 18, 2009

    05年识互联网,07年入雅虎, 08入百度

  995. z.En
    z.En October 18, 2009

    很厉害呀,05年识互联网,07年入雅虎, 08入百度

  996. liexusong
    liexusong October 14, 2009

    谢谢了!我发先PHP的源代码比python的源代码难读很多!

  997. 雪候鸟
    雪候鸟 October 14, 2009

    grep ZEND_API [phpsrc] | grep define么.呵呵
    在PHP源码Zend目录下, 根据不同的平台定义在acconfig.h或者zend_config.w32.h

  998. liexusong
    liexusong October 14, 2009

    大哥,请问ZEND_API宏在哪里定义的?

  999. scmyth
    scmyth September 22, 2009

    您好,很期望能结识您,能否留下联系方式,也可以联系我,QQ “号码保护”,也可以联系 “号码保护” !

  1000. 黄昏--明
    黄昏--明 September 8, 2009

    东逛西逛!逛来了!情不自禁留言了!【俺以后在这住下了!】

  1001. Jessica
    Jessica September 4, 2009

    我是来膜拜鸟哥的。

  1002. 烂叶
    烂叶 August 26, 2009

    鸟哥很强大!
    嘎嘎!

  1003. cyj
    cyj August 18, 2009

    我有几个问题,我对这方面了解太少。对C理解也不深刻,这几个模块在我看来其实是并行的关系,一个模块引用另外一个模块的全局变量,必须要保证先后关系吧,我们怎么保证呢

  1004. 雪候鸟
    雪候鸟 August 18, 2009

    @cyj, ZEND_BEGIN_MODULE_GLOBALS/ZEND_END_MODULE_GLOBALS系列宏其实是定义了一个结构体, 在DECLARE_MODULE_GLOBALS的时候,根据是否开启ZTS分别定义不同的结构体实例,
    所以你也可以通过定义一个宏来访问, 比如:
    #ifdef ZTS
    #define HELLOG(v) TSRMG(hello_globals_id, zend_hello_globals *, v)
    #else
    #define HELLOG(v) (hello_globals.v)
    #endif

  1005. cyj
    cyj August 18, 2009

    hi。。。又打扰了,我又来了。。似乎国内php模块开发我只能找到这边来了。。如果有啥交流的地方请告诉我。。
    我想开发几个模块,这几个模块又依赖于另外一个模块里面的全局变量。比如下面这个:ZEND_BEGIN_MODULE_GLOBALS(hell0)
    unsigned long counter;
    ZEND_END_MODULE_GLOBALS(hell0)
    其他模块如何访问这个counter呢。。如果不可以,可以通过什么方式呢。。不知道能不能给个联系方式。。如果方便得话请发我邮箱,谢谢。。。

  1006. loki
    loki August 17, 2009

    非常不错的blog,希望交换个友情链接,还得多像你学习学习,比我的深刻。

  1007. 雪候鸟
    雪候鸟 August 10, 2009

    @cyj 你是说通过php_admin_value open_basedir设置么?
    这个指令会在PHP模块初始化以后起作用,也就是会覆盖原有的ini配置

  1008. cyj
    cyj August 10, 2009

    有个问题想请教下,apache中通过virtual host中设置phpadminvalue open_basedir可以覆盖php.ini中的open_basedir,这种实现机制我看源码没看出来。。。究竟php中是怎么样动态的改变open_basedir的呢。
    我看了源码,open_basedir通过PG(open_basedir)得出,而mod_php5中,通过读取配置文件放到一个hashtable中,其他的就没看出来了,还请指教~

  1009. clark
    clark August 7, 2009

    hi, 有个小问题想问你,已经发了邮件。由于不清楚你常用哪个,所以三个都发了。。。
    🙂

  1010. LnddMiles
    LnddMiles July 27, 2009

    The best information i have found exactly here. Keep going Thank you

  1011. 雪候鸟
    雪候鸟 July 27, 2009

    @张青 再补充一下, 刚才群里有朋友问到俩者的效率是否一样, 对于标签外的字符串, PHP在词法分析的时候, 会以400个字符为单位切分. 所以再大字符串, 或者有变量替换的的情况下, 俩者的效率是不一样的.

  1012. 雪候鸟
    雪候鸟 July 26, 2009

    @张青: 在PHP词法分析的时候,在标签以外的字符,都会被认为是T_INLINE_HTML, 对于T_INLINE_HTML,在执行的时候都会被包装成ECHO “T_INLINE_HTML”;
    也就是说, 其实可以认为:


    laruence


    和:



    是一样的.

  1013. 张青
    张青 July 25, 2009

    Hi Laruence :
    非常喜欢你的文章,我之前一直做c/c++/java方面,才开始接触php,有个问题麻烦想请教一下,手册和网上搜到的答案都很简单,还是不很清楚,就是类似这样语句:
    //…some html codes
    想请问一下为什么一个能把一个完整语句分离开,php内部具体怎么解析的。中间php标记外的html codes也可以根据上面php语法循环输出?对于php中嵌入html是不是php专门针对几个控制语句做了特殊处理,
    比如if,while,for,


    和这个几个控制语句的别名有什么关系吗?网上看到http://onlamp.com/pub/a/php/2001/05/03/php_foundations.html?page=1
    另外,在某处看到这样代码,怎么do..while也可分割的,头晕啊
    //some html…
    }
    ?>

  1014. wiillaadgessii
    wiillaadgessii July 24, 2009

    404! 404! 404!
    404! 404! 404!
    404! 404! 404!
    stopsolloyandexfak

  1015. 杯子
    杯子 July 23, 2009

    额 没有分页的

  1016. buy_vigrxplus
    buy_vigrxplus July 20, 2009

    Great post! I’ll subscribe right now wth my feedreader software!

  1017. 乐蜂网
    乐蜂网 July 18, 2009

    很喜欢贵站,不知站长是否可以交换链接啊。已经添加好了您的链接。
    本站名称:乐蜂网
    希望能通过审核。谢谢!

  1018. gugaduckY
    gugaduckY July 18, 2009

    Viagra are usually the first treatment tried to save erectile dysfunction — the unqualifiedness to bring off or support an fair to middling erection for sexual activity. Looking for most men with erectile problems, they plan fortunately and comprise only one side effects.

  1019. Pomporpdriedo
    Pomporpdriedo July 17, 2009

    Viagra helps people who from problems getting erections or keeping erections during making love

  1020. PriepeBoowrep
    PriepeBoowrep July 14, 2009

    There is nothing supplemental adult friend finder . Regardless of honesty issues or cope, adults have tied up in propagative activities throughout the fringe benefits of thousands of years. Earlier mankind did not control the more favourably of matured personals working on their side. Men seeking women, or defect versa, for matured natured pastimes was a hit-and-miss scenario. Dismissal is not relaxing to mulct in any mimic but it stings less when done anonymously middle of an internet connection.

  1021. 科学家
    科学家 June 11, 2009

    牛逼人~!

  1022. stefyang
    stefyang May 22, 2009

    我很想对php的内部机制有更多的了解
    例如内存管理和垃圾回收机制
    看到了你的文章很不错
    但是不知道自己如何开始阅读php的源代码
    有什么建议没

  1023. toms
    toms May 16, 2009

    说真的, 你blog上这张照片看起来有点像《九品芝麻官》里演荒唐镜的那个演员~_~

  1024. Laive
    Laive May 4, 2009

    Hi, I found your site using Laive, does your site support Firefox?

  1025. yahoooo
    yahoooo April 29, 2009

    Hi, I found your site using yahoooo, does your site support firefox?

  1026. tom
    tom April 8, 2009

    恭喜重新开张了

  1027. 蚊子
    蚊子 April 7, 2009

    你好,请问你是怎么实现rss订阅不显示全文内容而只显示摘要的???用了什么插件吗??

  1028. 卓越
    卓越 March 4, 2009

    您好
    想和你博客做个链接不知道行不?
    已经做好了你的连接哦 ^_^
    博客名称: 卓越
    博客地址: http://www.di67.cn/

    • laruence
      laruence March 5, 2009

      @卓越,好的

  1029. Mark.long
    Mark.long February 19, 2009

    看来挺忙的,blog都没更新过了

  1030. smarteng
    smarteng February 2, 2009

    原来是高手,我借用了你都名言,谢谢……

  1031. 阳阳
    阳阳 February 1, 2009

    您好: 我是一名PHP工作者~很佩服站长的知识~
    想结识下~不知可否留下QQ或email
    我的QQ是:304733663

  1032. dsfd
    dsfd January 27, 2009

    手册有人这样说
    You can’t call parent::__construct() in the constructor of your class if you are extending the memcache class. However, not running the constructor still initiates it and works fine.
    connect($host, $port);
    }
    //correct
    class a extends Memcache {
    function __construct($host, $port)
    {
    parent::__construct();
    $this->connect($host, $port);
    }
    ?>
    I am guessing this applies to all native/PECL classes.

  1033. dsfd
    dsfd January 27, 2009

    Fatal error: Can not call constructor in D:\wamp\www\index.php on line 6
    这个问题可能是和PHP本身有关系的。。

  1034. dsfd
    dsfd January 26, 2009

    老大,新年快乐

  1035. dsfd
    dsfd January 26, 2009

    class MyMemcache extends Memcache {
    private function __construct() {
    parent::__construct();
    }
    }
    老大,这个为什么不能调用父类的构造函数啊?

    • laruence
      laruence January 27, 2009

      @dsfd, 提示什么错?

  1036. 玉丰
    玉丰 January 14, 2009

    呵呵,发现自己太幸运了,嘿嘿,学习中。

  1037. darkelf2003
    darkelf2003 January 12, 2009

    windows下system函数的问题
    $last_line =system(‘d: &”test/ping11.bat”‘, $retval);
    这样是可以运行,不过因为实际用的bat需要调用test下的其他bat,可是我现在的写法工作目录是d:,那么工作路径就不对了,我要实现的工作目录是d:\test,请教高人帮忙解决下

    • laruence
      laruence January 14, 2009

      @darkelf2003, 恩,那你可以修改bat中的路径为绝对路径.

      • darkelf2003
        darkelf2003 January 15, 2009

        @laruence, 已经解决,3q,用bat做了绝对路径

  1038. l
    l January 8, 2009

    老大,,问个问题
    function f() {
    $a = 1;
    function ff() {
    请问在这里怎么访问$a?
    }
    }
    谢谢

    • 雪候鸟
      雪候鸟 January 8, 2009

      @l, PHP函数嵌套? 你可以形参传给ff,或者使用global关键字将$a申明到全局作用域.

  1039. 南
    January 8, 2009

    留名。

  1040. hy0kl
    hy0kl January 7, 2009

    强悍的博主能否发个 IM 联系 to me?

  1041. Anonymous
    Anonymous December 30, 2008

    一天天
    共患难
    fh

  1042. Anonymous
    Anonymous December 30, 2008

    更好几年

  1043. laotan
    laotan December 10, 2008

    主题好像google的浏览器,看的爽!在这里能学到很多东西,关注中,期待更多的好东东!

  1044. yzcj007
    yzcj007 December 7, 2008

    鸟哥是台湾的,这位是正宗国货(我想应该是吧)。

  1045. jake
    jake December 6, 2008

    可以拜你为师不?
    想拜您为师~~

  1046. 菜鸟
    菜鸟 December 4, 2008

    我看见有位朋友叫你鸟哥,难道你就是传说中做linux私房菜的那个鸟哥?

  1047. jackywdx
    jackywdx November 28, 2008

    想问一个问题啊,
    phpize这个如何安装啊,网上找了挺久都没有发现。
    是不是要在编译的时候加个选项?

  1048. chorchee
    chorchee November 28, 2008

    楼主加下我吧,我的msn:lin_chaoqi@hotmail.com
    谢谢了

  1049. chorchee
    chorchee November 27, 2008

    比如我想知道php的函数intval()是如何实现的,那样的话,我该顺着怎样的思路去看呢?你能告诉下你的msn或qq吗,我想请教你,发我信箱吧,我加你

    • 雪候鸟
      雪候鸟 November 28, 2008

      intval是PHP标准扩展提供的,所以在ext/standard/下查找

  1050. chorchee
    chorchee November 25, 2008

    博主,你好!学习php一年多了,也想对php进行下深入了解,也下了php的源码,看了点,可是,看不懂,没有思路,不知道从何处入手,之前看过一些php的框架,它们有入口文件,这样会有一条路线,如今看php的源码却不知道怎么开始。初看php源码肯定会有不少难度,在看之前要具备哪些知识?做些什么准备,希望博主回复我,谢谢!

    • 雪候鸟
      雪候鸟 November 25, 2008

      看源码,首先你要c/c++比较熟悉,然后你要熟悉一些常见的结构,这样在跟踪的时候才能准确猜测,最后你需要一些编译原理的知识.

      • chorchee
        chorchee November 26, 2008

        c有所了解,在大学时也学过编译原理,在网上下了lex+yacc方面的资料,在学习中,你能指导下我,如果我看源码的话,从哪个文件着手吗?也就像是入口文件吧,谢谢!

        • 雪候鸟
          雪候鸟 November 26, 2008

          问题驱动,要看你需要了解什么,然后驱动你去。
          并不是,你想的这样,“入口文件”。

  1051. migou
    migou November 24, 2008

    博主,我在你8月28日那天的博文《HTTP1.0下HTTP_HOST为空》请教了个问题,望抽空帮忙解答一下,谢谢

    • 雪候鸟
      雪候鸟 November 24, 2008

      恩,我回复了,;), 进一步交流可以发信给我的gmail信箱.

      • migou
        migou November 24, 2008

        博主,我又把问题发到你邮箱了,之前描述的不太清楚,不好意思。请你有空时查收一下

  1052. jackywdx
    jackywdx November 24, 2008

    请问有没有什么好的yacc的教程,lex&yacc这块还不了解看起来比较头疼。

    • 雪候鸟
      雪候鸟 November 24, 2008

      之前我好像见到过一本叫lex(与|和)yacc简明教程的,挺适合大体了解的。 你可以google之试试

  1053. Mark long
    Mark long November 21, 2008

    laruence,能否在php源代码的研究上介绍点资料,:)。goforideal@gmail.com。

  1054. jackywdx
    jackywdx November 20, 2008

    想问一个问题。
    就是apache接受一个PHP页面请求,调用PHP进程,PHP首先会先执行哪个函数,就是入口函数在哪想知道。

    • 雪候鸟
      雪候鸟 November 21, 2008

      这个就是PHP提供给APACHE的处理php文件的函数句柄”send_parsed_php”,我的php lifecycle一文就是讲这个的.

      • jackywdx
        jackywdx November 21, 2008

        哦,好的,我去看看。

  1055. Cymox
    Cymox November 18, 2008

    看了你的见解,颇有感想,有的东西就是不能随意用,要知道问什么,一定得谨慎。

  1056. Obama
    Obama November 15, 2008

    唉唉唉…一年进baidu?
    阁下这么神…向你学习

  1057. 无名
    无名 November 14, 2008

    朋友,你的那个分页模式,有很多变量看不明白,能详细说明不,我是新手,我的老大一定要我把你写的方法看到,好难理解,帮忙。。。。。。
    QQ:492902285

    • 雪候鸟
      雪候鸟 November 14, 2008

      变量的命名就代表了它的意思,呵呵

  1058. 按时发生的
    按时发生的 November 14, 2008

    按时大法师的哦

  1059. phper
    phper November 11, 2008

    阁下是雅虎大牛?!

    • 雪候鸟
      雪候鸟 November 3, 2008

      如果你用chrome来浏览,,就会觉得更特别了,嘿嘿

  1060. asd
    asd October 31, 2008

    老大,,在請教個問題
    在linux环境下,我想让一个PHP程序以cli的方式24小时运行,但是我怕这个程序因为某些原因会中断掉。。。所以我又会每隔一段时间再次运行这个程序检测当前是否有运行,,有就退出,没有就继续执行。。。
    我想问的就是有什么办法实现呢?,
    我现在的做法是向内存写个共享文件,,然后启动的时候检测下这个文件来判断是退出还是继续运行,请问有没有更好的方法?
    谢谢
    還有一個,有什么辦法,讓這個一直運行的程序接受到我的指令后就退出。。。要運行完之前做的事情然后才退出。。。謝謝

      • asd
        asd October 31, 2008

        謝謝老大。“

  1061. asd
    asd October 30, 2008

    老大,不知道您對xcache熟不熟?
    問個問題。
    请问,,xcache可不可以设置,让某个文件不缓存呢?
    因为用了xcache,,某些函数执行起来被影响结果了。。
    谢谢

  1062. MoXie
    MoXie October 27, 2008

    第一次过来,没有点崩溃你的站。
    失落~~泪奔中……

  1063. Lee
    Lee October 15, 2008

    请问一下在哪里可以获得PHP的内核代码。。。

    • 雪候鸟
      雪候鸟 October 16, 2008

      恩,你可以直接去PHP网站去下载自编译的代码包;)

  1064. aw
    aw October 13, 2008

    最近头疼php线程间通信的时候,偶然搜到了您的文章,让我受益非浅、茅塞顿开。万分感谢!

    • 雪候鸟
      雪候鸟 October 13, 2008

      ;), 能使你受益,我更开心,呵呵

  1065. j.ason123j
    j.ason123j October 11, 2008

    请问你的代码着色,是用的哪个插件,
    我试了好几个都不尽人意

  1066. E.f
    E.f September 14, 2008

    雪候鸟
    我刚好也开始在研究php的内部实现机制
    咱联系一下如何,至少我道不孤
    我Q:*隐私保护*

  1067. liexusong
    liexusong September 4, 2008

    我的QQ是:*隐私保护*

  1068. liexusong
    liexusong September 4, 2008

    老大,可以给你qq我吗!?我想加你为好友啊!

  1069. liexusong
    liexusong August 31, 2008

    请您继续更新!!!!!!!!!!

  1070. linsenz
    linsenz August 29, 2008

    非常感谢,我会经常来拜读

  1071. linsenz
    linsenz August 29, 2008

    你好.想问下你的主页的那个视频的歌叫什么名字.

  1072. liyong98847
    liyong98847 August 28, 2008

    偶然搜索到你的网站,很有收获。
    Thank you!

  1073. zwws
    zwws August 26, 2008

    来拜访一下。:)

  1074. 雪候鸟
    雪候鸟 August 25, 2008

    你现在就可以啊,有问题欢迎随时交流。;)

  1075. NoAngels
    NoAngels August 25, 2008

    那个php源码分析的啥时候可以出来呢?我想弄弄php深层次的东西

  1076. blankyao
    blankyao August 24, 2008

    @楼上,你的blog挺“红”的啊,哈哈

  1077. 雪候鸟
    雪候鸟 August 22, 2008

    嘿嘿,那是,我对美的把握,还是不错的么。

  1078. RainX
    RainX August 22, 2008

    这个主题反复的看,还是觉得不错…

  1079. Alicia
    Alicia August 22, 2008

    Love is DEAD.每次听这首歌,心都突然静下来颤抖。

  1080. ylcz
    ylcz August 21, 2008

    占个位置,好好学习

  1081. Alicia
    Alicia August 21, 2008

    留个脚印,赞助下咱哥们儿。

  1082. amy
    amy August 19, 2008

    wonderful

  1083. 雪候鸟
    雪候鸟 August 17, 2008

    有人提醒我应该保留wp的版权信息。
    惭愧,推崇开源,竟然自己无意间就犯错了。。。
    赶紧加上。。。。。。

  1084. Anonymous
    Anonymous August 16, 2008

    我怎么大多数都看不懂

  1085. giveyou
    giveyou August 12, 2008

    大牛,加油

  1086. jjg
    jjg August 11, 2008

    技术大牛~~~~~~

  1087. zjw
    zjw August 11, 2008

    congratulations

  1088. 雪候鸟
    雪候鸟 August 11, 2008

    dns解析弄错了,我改了,现在应该快很多了,;)

  1089. Rocs
    Rocs August 11, 2008

    哪的主机。。。很慢…. dreamhost?

  1090. Rocs
    Rocs August 11, 2008

    沙发….

  1091. zhangh
    zhangh August 10, 2008

    看过了,很不错哟,努力!!

  1092. Anonymous
    Anonymous August 10, 2008

    不写姓名就不能发表么?

  1093. 雪候鸟
    雪候鸟 August 10, 2008

    欢迎大家留言,嘿嘿

    • lax
      lax February 15, 2009

      MoXie | 辛盟20:55:35
      网通的去laruence.com留言让鸟鸟回群里来。
      MoXie | 辛盟20:55:47
      就说有好吃的。

      • laruence
        laruence February 17, 2009

        @lax, 怎么回去啊…群号么

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.