Press "Enter" to skip to content

留言

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

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

1,346 Comments

  1. xiao ou
    xiao ou June 18, 2020

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

  2. ouxiao
    ouxiao June 18, 2020

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

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

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

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

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

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

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

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

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

  10. jane
    jane December 4, 2019

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

  11. john
    john December 3, 2019

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

    • laruence
      laruence February 24, 2020

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

  12. 444
    444 October 23, 2019

  13. LMK
    LMK September 25, 2019

    github过来的。

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

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

    • 张秦萁
      张秦萁 April 24, 2020

      我最近也在研究这个

      • laruence
        laruence April 24, 2020

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

  15. lnto
    lnto August 30, 2019

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

  16. nan shire
    nan shire August 30, 2019

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

    • 崔少云
      崔少云 March 23, 2020

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

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

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

  19. wuliping
    wuliping August 15, 2019

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

  20. Sean
    Sean August 12, 2019

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

    • Sean.bao
      Sean.bao September 17, 2019

      你想招鸟哥?

    • lin
      lin April 22, 2020

      你给鸟哥开月薪100K?

  21. 陈生
    陈生 July 19, 2019

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

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

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

  23. 啊啊
    啊啊 July 5, 2019

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

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

  25. 1
    1 June 28, 2019

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

  26. Fireworks
    Fireworks June 20, 2019

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

    • yangfan
      yangfan June 25, 2019

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

      • Fireworks
        Fireworks July 1, 2019

        谢谢 我去试一下

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

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

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

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

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

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

        那这个有设定是什么作用

  31. LeiGong
    LeiGong April 17, 2019

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

  32. jwcom
    jwcom April 16, 2019

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

  33. liulixin
    liulixin April 8, 2019

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

  34. lin ming
    lin ming April 1, 2019

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

  35. acewee
    acewee March 21, 2019

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

    • acewee
      acewee March 21, 2019

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

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

  37. Freelance
    Freelance March 11, 2019

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

  38. Lee Chan
    Lee Chan March 9, 2019

    可以模仿你博客的ui吗

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

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

  40. adang
    adang March 6, 2019

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

  41. Nervebing
    Nervebing March 6, 2019

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

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

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

  43. star
    star March 4, 2019

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

  44. star
    star March 4, 2019

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

  45. zhang
    zhang March 1, 2019

    前来膜拜

  46. peng
    peng March 1, 2019

    沾沾喜气

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

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

  47. ming
    ming February 25, 2019

    都是哈希??

  48. lee
    lee February 14, 2019

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

  49. 222
    222 February 11, 2019

    123

  50. cj
    cj February 11, 2019

    alert(‘very nb’)

  51. zhang
    zhang January 31, 2019

    膜拜大神,留名

  52. coolbreeze
    coolbreeze January 28, 2019

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

  53. vimtutor
    vimtutor January 26, 2019

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

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

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

  55. 0x00
    0x00 January 3, 2019

    终于换前端了

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

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

  58. 金江
    金江 December 13, 2018

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

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

  60. lee
    lee December 1, 2018

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

  61. baimengke
    baimengke November 15, 2018

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

  62. dennlian
    dennlian November 7, 2018

    php 7.2 windows版本加载yaconf报错

  63. miracle7
    miracle7 November 5, 2018

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

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

  65. Kenneth Gao
    Kenneth Gao October 20, 2018

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

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

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

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

  68. haier_brother
    haier_brother October 12, 2018

    alert(‘xss’)

  69. tony
    tony October 2, 2018

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

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

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

  71. xrj
    xrj September 19, 2018

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

  72. owenliang
    owenliang September 11, 2018

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

  73. hz
    hz September 6, 2018

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

  74. Bill
    Bill September 6, 2018

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

  75. Ruizhao
    Ruizhao September 3, 2018

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

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

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

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

  78. Evens
    Evens August 10, 2018

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

  79. 孟羽
    孟羽 August 10, 2018

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

  80. 宇堃
    宇堃 August 1, 2018

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

  81. lio
    lio July 17, 2018

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

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

  83. 木来
    木来 June 27, 2018

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

  84. yonbinblue
    yonbinblue June 15, 2018

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

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

  86. ethan
    ethan June 7, 2018

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

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

  88. demo
    demo May 20, 2018

    alert(123123)

  89. enoch
    enoch May 20, 2018

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

  90. randal
    randal May 16, 2018

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

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

  92. ThomasUnupe
    ThomasUnupe May 13, 2018

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

  93. ThomasUnupe
    ThomasUnupe May 13, 2018

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

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

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

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

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

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

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

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

    踩踩

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

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

  103. Alistamyan44
    Alistamyan44 February 25, 2018

    п»ї

  104. Monserhe14
    Monserhe14 February 5, 2018

    п»ї

  105. 子木
    子木 February 2, 2018

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

  106. WangKane
    WangKane December 26, 2017

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

  107. xqkeji
    xqkeji December 14, 2017

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

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

    鸟哥好久不更新博客啦

  109. chen
    chen November 21, 2017

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

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

  111. hedonghong
    hedonghong November 5, 2017

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

  112. VladimerIdems
    VladimerIdems October 23, 2017

    variant3

  113. ChrisMig
    ChrisMig October 17, 2017

    test soft

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

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

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

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

  118. ejzhang
    ejzhang August 25, 2017

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

  119. xinroom
    xinroom August 21, 2017

    你好,你也用360wzws啊。

  120. baron
    baron August 16, 2017

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

  121. rt
    rt August 8, 2017

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

  122. fly
    fly August 6, 2017

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

  123. lucasho
    lucasho July 31, 2017

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

  124. le
    le July 23, 2017

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

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

  126. itlong
    itlong July 11, 2017

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

  127. Dryslwwek
    Dryslwwek July 4, 2017

    hhhhhhbbbxbxcv – google.com google.com – hjgjasdfkjwieururu

  128. Dautndwek
    Dautndwek July 2, 2017

    hahgsgdnna – google.com google.com – hywyywkkkkkkzzzzsssss

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

    左手代码,右手撸

  130. Johnnieinjem
    Johnnieinjem June 19, 2017

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

  131. yinli
    yinli June 18, 2017

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

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

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

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

  134. php
    php May 28, 2017

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

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

  136. InstrgropS
    InstrgropS April 7, 2017

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

  137. Anonymous
    Anonymous March 28, 2017

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

  138. qazxtycuns
    qazxtycuns March 16, 2017

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

  139. RafaelDodia
    RafaelDodia March 5, 2017

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

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

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

  141. Dannyneors
    Dannyneors February 15, 2017

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

  142. TaxiUber
    TaxiUber February 13, 2017

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

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

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

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

  146. 歪麦
    歪麦 February 11, 2017

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

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

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

  149. Setrzip
    Setrzip February 11, 2017

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

  150. Setafxa
    Setafxa February 11, 2017

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

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

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

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

  153. cjl
    cjl February 3, 2017

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

  154. bolestr
    bolestr January 31, 2017

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

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

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

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

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

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

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

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

  162. Setajpp
    Setajpp January 28, 2017

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

  163. Setgoxb
    Setgoxb January 28, 2017

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

  164. Setfbid
    Setfbid January 28, 2017

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

  165. AngelaDor
    AngelaDor January 12, 2017

    Well…Seems it interesting

  166. Wetohvm
    Wetohvm January 1, 2017

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

  167. Setqkir
    Setqkir January 1, 2017

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

  168. Sethsui
    Sethsui January 1, 2017

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

  169. Setiwcg
    Setiwcg December 31, 2016

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

  170. JamieDet
    JamieDet December 30, 2016

    XRumer 12 is the BEST

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

  172. Wetmihn
    Wetmihn December 25, 2016

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

  173. Setgsod
    Setgsod December 25, 2016

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

  174. Setdbao
    Setdbao December 25, 2016

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

  175. joney lu
    joney lu December 23, 2016

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

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

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

  177. rdlosnave
    rdlosnave December 15, 2016

    nq9272 viagra party hw9773wv2945ct9290 in5346tn5869

  178. 林龙
    林龙 December 14, 2016

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

  179. sorci
    sorci December 13, 2016

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

  180. admin
    admin December 8, 2016

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

  181. AlexWong
    AlexWong November 26, 2016

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

  182. yudong wang
    yudong wang November 23, 2016

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

  183. yudong wang
    yudong wang November 23, 2016

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

  184. Anonymous
    Anonymous November 17, 2016

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

  185. Anonymous
    Anonymous November 9, 2016

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

  186. nnn
    nnn November 3, 2016

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

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

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

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

  189. fanfan
    fanfan October 20, 2016

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

  190. Alan
    Alan October 10, 2016

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

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

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

  192. jby
    jby September 27, 2016

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

  193. Hielamon
    Hielamon September 26, 2016

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

  194. leo
    leo September 22, 2016

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

  195. xilongtao
    xilongtao September 14, 2016

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

  196. konggu
    konggu August 15, 2016

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

  197. json
    json August 8, 2016

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

  198. monkey
    monkey August 5, 2016

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

  199. Anonymous
    Anonymous August 5, 2016

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

  200. Aaron
    Aaron August 2, 2016

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

  201. Aaron
    Aaron August 2, 2016

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

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

  203. Anonymous
    Anonymous July 26, 2016

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

  204. mcom
    mcom July 18, 2016

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

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

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

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

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

  208. dawei
    dawei June 23, 2016

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

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

  210. Respect
    Respect June 16, 2016

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

  211. 霡霂
    霡霂 June 15, 2016

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

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

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

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

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

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

  215. dong
    dong June 4, 2016

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

  216. yet
    yet May 24, 2016

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

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

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

  219. Maybe
    Maybe April 27, 2016

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

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

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

    yaf不怎的

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

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

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

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

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

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

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

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

  228. xiaochuan
    xiaochuan March 9, 2016

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

  229. phper
    phper March 7, 2016

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

  230. peter
    peter March 4, 2016

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


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

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

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

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

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

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

  236. peng
    peng January 12, 2016

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

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

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

  239. wing
    wing December 25, 2015

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

  240. Kumfo
    Kumfo December 9, 2015

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

  241. Kumfo
    Kumfo December 9, 2015

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

  242. yuxianhua
    yuxianhua December 8, 2015

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

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

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

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

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

  246. 1
    1 November 23, 2015

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

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

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

  248. ExplorePress
    ExplorePress November 11, 2015

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

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

  250. junze
    junze November 5, 2015

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

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

  252. tanteng
    tanteng October 29, 2015

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

  253. jianwu5
    jianwu5 October 25, 2015

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

  254. Mvpanswer7
    Mvpanswer7 October 23, 2015

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

  255. Sean
    Sean October 22, 2015

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

  256. xl
    xl October 13, 2015

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

  257. MikePeng
    MikePeng September 29, 2015

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

  258. MikePeng
    MikePeng September 29, 2015

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

  259. flutesing
    flutesing September 29, 2015

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

  260. alewater
    alewater September 25, 2015

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

  261. oo
    oo September 25, 2015

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

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

  263. shao
    shao September 23, 2015

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

  264. huangshihuai
    huangshihuai September 16, 2015

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

  265. chris
    chris September 15, 2015

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

  266. flycat
    flycat September 13, 2015

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

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

  268. 862778788
    862778788 August 28, 2015

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

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

  270. laosan
    laosan August 24, 2015

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

  271. TowBen
    TowBen August 21, 2015

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

  272. niuyan
    niuyan August 1, 2015

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

  273. jak
    jak July 31, 2015

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

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

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

  275. 曹彬
    曹彬 July 23, 2015

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

  276. nerd
    nerd July 10, 2015

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

  277. chjp
    chjp July 10, 2015

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

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

  279. laruence
    laruence July 8, 2015

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

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

  281. houwei
    houwei July 7, 2015

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

  282. houwei
    houwei July 6, 2015

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

  283. andy
    andy July 4, 2015

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

  284. laruence
    laruence July 4, 2015

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

  285. laruence
    laruence July 4, 2015

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

  286. duansong
    duansong July 4, 2015

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

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

  288. andy
    andy July 4, 2015

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

  289. laruence
    laruence July 4, 2015

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

  290. andy
    andy July 3, 2015

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

  291. andy
    andy July 3, 2015

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

  292. aaaa
    aaaa July 3, 2015

    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwalert(“死鸟”)

  293. laruence
    laruence June 29, 2015

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

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

  295. houwei
    houwei June 26, 2015

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

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

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

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

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

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

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

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

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

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

  303. 广海
    广海 May 26, 2015

    鸟哥对php ddos怎么看

  304. eric
    eric May 21, 2015

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

  305. Jushen920
    Jushen920 April 20, 2015

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

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

  307. 好为
    好为 April 10, 2015

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

  308. Light Lou
    Light Lou April 8, 2015

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

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

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

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

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

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

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

  315. windy
    windy March 28, 2015

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

  316. windy
    windy March 28, 2015

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

  317. windy
    windy March 28, 2015

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

  318. coldstar
    coldstar March 25, 2015

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

  319. lampboy
    lampboy March 19, 2015

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

  320. lampboy
    lampboy March 19, 2015

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

  321. Tony
    Tony March 18, 2015

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

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

  323. 芝麻
    芝麻 March 12, 2015

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

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

  325. jack1984
    jack1984 March 9, 2015

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

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

  327. qq8554650
    qq8554650 February 4, 2015

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

  328. baozi12314
    baozi12314 February 4, 2015

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

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

  330. 李程
    李程 January 29, 2015

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

  331. 李程
    李程 January 29, 2015

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

  332. 李程
    李程 January 28, 2015

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

  333. 李程
    李程 January 28, 2015

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

  334. 李程
    李程 January 28, 2015

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

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

  336. leslie
    leslie January 26, 2015

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

  337. 李程
    李程 January 22, 2015

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

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

  339. Jerry
    Jerry January 19, 2015

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

  340. sundebiao
    sundebiao January 13, 2015

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

  341. carson
    carson January 8, 2015

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

  342. sohow
    sohow January 7, 2015

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

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

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

  345. Json
    Json November 21, 2014

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

  346. 杨晨
    杨晨 November 18, 2014

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

  347. 翁捷
    翁捷 November 4, 2014

    接上端 使用的php版本为5.6.2

  348. 翁捷
    翁捷 November 4, 2014

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

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

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

  351. harry
    harry October 28, 2014

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

  352. Elina
    Elina October 10, 2014

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

  353. walkwithdog
    walkwithdog October 6, 2014

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

  354. Jesse
    Jesse September 25, 2014

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

  355. wgxsoft
    wgxsoft September 19, 2014

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

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

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

  357. 卢昕
    卢昕 August 13, 2014

    文章很好,会常来的!

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

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

  359. spider
    spider July 19, 2014

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

  360. eee
    eee July 18, 2014

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

  361. anelo
    anelo July 7, 2014

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

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

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

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

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

  366. garming
    garming June 7, 2014

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

  367. laruence
    laruence June 2, 2014

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

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

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

    hahahahahahah

  370. carl
    carl May 22, 2014

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

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

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

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

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

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

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

  375. 廖生
    廖生 May 6, 2014

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

  376. 29
    29 April 29, 2014

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

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

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

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

  379. kaiWei
    kaiWei April 2, 2014

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

  380. jason
    jason April 2, 2014

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

  381. Pilut
    Pilut March 25, 2014

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

  382. ian
    ian March 23, 2014

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

  383. ian
    ian March 23, 2014

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

  384. jokance
    jokance March 19, 2014

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

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

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

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

  388. mark
    mark March 10, 2014

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

  389. 5dao
    5dao March 10, 2014

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

  390. 小睿
    小睿 March 3, 2014

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

  391. yuanfei
    yuanfei March 1, 2014

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

  392. marc
    marc February 20, 2014

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

  393. Sctiche
    Sctiche February 18, 2014

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

  394. marc
    marc February 18, 2014

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

  395. marc
    marc February 18, 2014

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

  396. marc
    marc February 18, 2014

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

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

  398. lindowx
    lindowx February 17, 2014

    你写那个plua能用luajit么

  399. benny
    benny February 10, 2014

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

  400. xuxiaofeng
    xuxiaofeng February 2, 2014

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

  401. Bruce
    Bruce February 1, 2014

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

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

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

  403. 木木
    木木 January 14, 2014

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

  404. 枫林
    枫林 January 9, 2014

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

  405. xuanskyer
    xuanskyer December 24, 2013

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

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

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

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

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

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

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

  409. conermx
    conermx December 10, 2013

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

  410. Anonymous
    Anonymous December 7, 2013

    chanvvv house me

  411. webroot
    webroot December 7, 2013

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

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

  413. Anonymous
    Anonymous November 27, 2013

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

  414. zhangkun
    zhangkun November 26, 2013

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

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

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

  416. sjt2000
    sjt2000 November 18, 2013

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

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

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

  419. 螃蟹
    螃蟹 October 31, 2013

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

  420. 5dao
    5dao October 31, 2013

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

  421. jack
    jack October 26, 2013

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

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

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

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

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

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

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

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

  426. lancer
    lancer October 11, 2013

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

  427. lancer
    lancer October 11, 2013

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

  428. lancer
    lancer October 11, 2013

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

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

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

  431. Heming
    Heming September 22, 2013

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

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

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

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

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

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

  435. israguide
    israguide September 16, 2013

    where he is producing educational
    media aimed

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

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

  438. Anonymous
    Anonymous August 29, 2013

    鸟哥 介绍几本书好吗

  439. 史海
    史海 August 28, 2013

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

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

  441. sandect
    sandect August 20, 2013

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

  442. Gacy.Young
    Gacy.Young August 18, 2013

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

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

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

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

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

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

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

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

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

  449. zzb
    zzb August 14, 2013

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

  450. MikePeng
    MikePeng August 8, 2013

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

  451. loso
    loso August 7, 2013

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

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

  453. Anonymous
    Anonymous August 2, 2013

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

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

  455. Tommas
    Tommas July 23, 2013

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

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

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

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

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

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

  459. kn007
    kn007 July 12, 2013

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

  460. kn007
    kn007 July 12, 2013

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

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

  462. displa
    displa July 11, 2013

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

  463. adolfjap
    adolfjap July 11, 2013

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

  464. adolfjap
    adolfjap July 8, 2013

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

  465. adolfjap
    adolfjap July 8, 2013

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

  466. adolfjap
    adolfjap July 8, 2013

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

  467. erin
    erin July 5, 2013

    自学PHP的新手,谢谢

  468. silence
    silence June 28, 2013

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

  469. wyatt
    wyatt June 25, 2013

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

  470. Wyatt
    Wyatt June 24, 2013

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

  471. longjianghu
    longjianghu June 13, 2013

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

  472. longjianghu
    longjianghu June 13, 2013

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

  473. Chon
    Chon June 7, 2013

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

  474. Chon
    Chon June 7, 2013

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

  475. Chon
    Chon June 7, 2013

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

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

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

  477. yangweijie
    yangweijie June 3, 2013

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

  478. phpqinsir
    phpqinsir June 2, 2013

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

  479. phpqinsir
    phpqinsir May 30, 2013

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

  480. phpqinsir
    phpqinsir May 30, 2013

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

  481. phpqinsir
    phpqinsir May 30, 2013

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

  482. jewdore
    jewdore May 28, 2013

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

  483. phpqinsir
    phpqinsir May 27, 2013

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

  484. jake.zhang
    jake.zhang May 26, 2013

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

  485. fengkai
    fengkai May 22, 2013

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

  486. weiwei
    weiwei May 21, 2013

    补充上一条:mysqli client版本5.1.67

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

  488. youpin
    youpin May 9, 2013

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

  489. R5699
    R5699 May 9, 2013

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

  490. Stagezm
    Stagezm May 8, 2013

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

  491. aaron67
    aaron67 April 26, 2013

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

  492. 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,数据类型的转换不同结果的原理吗?

  493. liuxingzhi
    liuxingzhi April 23, 2013

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

  494. peter
    peter April 17, 2013

    请问怎样精通PHP,谢谢!

  495. jiangtao
    jiangtao April 16, 2013

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

  496. piaox
    piaox April 15, 2013
  497. 刘邦
    刘邦 April 10, 2013

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

  498. 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();
    ???????
    怎么做才是对的呢?

  499. 刘邦
    刘邦 April 9, 2013

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

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

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

  501. 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)
    这是手册没更新还是我用法错误呢?

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

    @nany Games_TestModel

  503. nany
    nany April 3, 2013

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

  504. P人
    P人 April 1, 2013

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

  505. 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来说是个很重要的部分,希望能多一些实际的配置例子做参考,辛苦~

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

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

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

  508. 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() 。

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

  510. JasonLee
    JasonLee March 21, 2013

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

  511. google.com
    google.com March 19, 2013

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

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

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

  513. alenl
    alenl March 19, 2013

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

  514. hqq
    hqq March 12, 2013

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

  515. Anonymous
    Anonymous March 11, 2013

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

  516. 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秒。
    我实在想不出办法,麻烦你指点一下。

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

  518. 然
    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;
    为什么它一定要让两个数组一模一样才能匹配成功呢?

  519. 然
    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;
    为什么它一定要让两个数组一模一样才能匹配成功呢?

  520. 廿九
    廿九 March 5, 2013

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

  521. 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,也就是外部能访问的,怎么办?

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

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

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

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

  524. 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挂掉的情况。能不能帮助一下,帮我解决一下啊!

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

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

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

  527. kkfd008
    kkfd008 February 21, 2013

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

  528. 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 //插件目录

  529. 毛毛
    毛毛 February 14, 2013

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

  530. 毛毛
    毛毛 February 14, 2013

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

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

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

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

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

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

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

  534. sun
    sun February 7, 2013

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

  535. king
    king February 6, 2013

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

  536. GGK
    GGK February 4, 2013

    哦原来现在Taint不支持5.4。

  537. GGK
    GGK February 4, 2013

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

  538. 陆楚良
    陆楚良 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是什么原因不支持这种语法呢?以后的版本会不会增加对这种语法的支持?

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

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

  540. 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这个函数。
    您可以告诉我是哪个具体的函数返回的吗?不胜感激!
    祝:工作顺利!

  541. 李惟
    李惟 January 18, 2013

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

  542. xu
    xu January 7, 2013

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

  543. 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 改进,在此向您送上真挚的祝福,严重感谢你对我等码农们的格外支持。

  544. 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 这个选项是否真的有用,我测试过,好像没下作用。

  545. 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 这个选项是否真的有用,我测试过,好像没下作用。

  546. 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 这个选项是否真的有用,我测试过,好像没下作用。

  547. P人
    P人 December 29, 2012

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

  548. 海燕
    海燕 December 25, 2012

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

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

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

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

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

  551. csynine
    csynine December 12, 2012

    我已经搞定了,谢谢!

  552. csynine
    csynine December 12, 2012

    我已经搞定了,谢谢!

  553. csynine
    csynine December 12, 2012

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

  554. csynine
    csynine December 12, 2012

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

  555. 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)
    一直都缓存不了,不知道是什么原因?

  556. laruence
    laruence November 30, 2012

    @Rob I wrote you via mail 🙂

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

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

  559. yhg
    yhg November 27, 2012

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

  560. 呼吸二氧化碳
    呼吸二氧化碳 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();

  561. 呼吸二氧化碳
    呼吸二氧化碳 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();
    ?>

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

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

    </