导读:在快要入睡前,想起上个月发生的一件事儿。还是和session有关。在这之前,我要找一个函数看源码,都打开源码,打开.h文件.c文件,慢慢寻找。找到了再看源码。效率奇低不说,等我找到函数在哪个扩展(有些并不好找,即使你看到手册也不明白),我已经很困了。嘿嘿,终于让我翻出一个方法。
1 在说具体的方法前,先记说一下 语言结构 和 内置函数。
语言结构,记得一句话就好:和if神马的是同类;
内置函数,由代码段组成的可被重写、调用的已经编译在运行环境里的一种对应关系(有点装了,这个是结合数学里的函数定义的解释,自己乱凑的)。
整理一个php语言结构——容易被误解的那些:
array
die
echo
empty
include(include_once是fun)
isset(和is_null函数牵扯)
listrequire(require_once是fun)
unset
2 CLI下(不愿意写一个脚本,这样比较装,嘿嘿嘿嘿)
php -r '$m=get_loaded_extensions();foreach($m as $mn){$f=get_extension_funcs($mn); if(in_array('mysql_query',$f)){ exit($mn); } }'
注意和你使用的外壳运行环境相关,上面语句在xshell下。如果在win cmd下,是报错的。应该使用:
php -r "$m=get_loaded_extensions();foreach($m as $mn){$f=get_extension_funcs($mn); if(@in_array('mysql_query',$f)){ exit($mn); } }"
想起我的源码阅读计划,汗……天下…………