php源码分析 (第一章)
2011-11-13 23:09
441 查看
环境
lsb_release -a
LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.6 (Final)
Release: 5.6
Codename: Final
php: 5.2
gdb: GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-37.el5_7.1)
下载php源码编译环境
svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_2 php-src-5.2
./buildconf
./configure --disable-all
make
开始gdb调试
gdb
(gdb) file sapi/cli/php
(gdb)run test.php #这里的test.php是随便编写的一个php文件
(gdb) list
612 /* }}} */
613
614 /* {{{ main
615 */
616 #ifdef PHP_CLI_WIN32_NO_CONSOLE
617 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
618 #else
619 int main(int argc, char *argv[])
620 #endif
621 {
(gdb) b 617
Breakpoint 1 at 0x81c18f7: file /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c, line 617.
(gdb) r
Starting program: /root/xiaoq/php-src-5.2/sapi/cli/php test.php
[Thread debugging using libthread_db enabled]
Breakpoint 1, main (argc=2, argv=0xbfffea84) at /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c:621
621 {
(gdb) n
628 int orig_optind=php_optind;
(gdb)
622 volatile int exit_status = SUCCESS;
不会gdb的稍微学下,我也下的手册刚看的,可以开始php源码之旅了,下章分析下php的大体执行流程和关键的源码位置,我也是初学者,不对之处多多指教!!!
lsb_release -a
LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.6 (Final)
Release: 5.6
Codename: Final
php: 5.2
gdb: GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-37.el5_7.1)
下载php源码编译环境
svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_2 php-src-5.2
./buildconf
./configure --disable-all
make
开始gdb调试
gdb
(gdb) file sapi/cli/php
(gdb)run test.php #这里的test.php是随便编写的一个php文件
(gdb) list
612 /* }}} */
613
614 /* {{{ main
615 */
616 #ifdef PHP_CLI_WIN32_NO_CONSOLE
617 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
618 #else
619 int main(int argc, char *argv[])
620 #endif
621 {
(gdb) b 617
Breakpoint 1 at 0x81c18f7: file /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c, line 617.
(gdb) r
Starting program: /root/xiaoq/php-src-5.2/sapi/cli/php test.php
[Thread debugging using libthread_db enabled]
Breakpoint 1, main (argc=2, argv=0xbfffea84) at /root/xiaoq/php-src-5.2/sapi/cli/php_cli.c:621
621 {
(gdb) n
628 int orig_optind=php_optind;
(gdb)
622 volatile int exit_status = SUCCESS;
不会gdb的稍微学下,我也下的手册刚看的,可以开始php源码之旅了,下章分析下php的大体执行流程和关键的源码位置,我也是初学者,不对之处多多指教!!!
相关文章推荐
- CI框架源码完全分析之核心文件(装载器)Loader.php
- CodeIgniter源码分析(二) 入口文件index.php
- CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
- CI框架Session.php源码分析
- 搜索引擎关键词劫持之php篇(源码与分析)
- PHP实现购物车的思路和源码分析
- dedecms讲解-dedetag.class.php模板解析和属性解析,源码分析
- CI框架源码完全分析之核心文件(输入类)Input.php
- PHP+Mysql的OA时时cai金源源码搭建采集接口分析
- CI框架源码完全分析之核心文件Config.php(配置类)
- CodeIgniter源码分析之Model.php
- PHP源码阅读 Day.1,源码目录结构分析
- PHP源码分析-PHP的生命周期
- php与memcached服务器交互的分布式实现源码分析
- PHP与Memcached服务器交互的分布式实现源码分析
- zphp源码分析(一)
- php与memcached服务器交互的分布式实现源码分析[memcache版]
- CI框架源码完全分析之核心文件(安全类)Security.php
- Yii2.0源码分析之——控制器文件分析(Controller.php)创建动作、执行动作
- find_fufei.php源码分析