Mac 下使用 clion 调试 PHP 内核源码

操作步骤

  1. 下载源码
  2. 安装
    • ./configure --prefix=指定安装路径--with-config-file-path=指定配置文件读取路径 --with-iconv=指定iconv安装的路径 --enable-debug
    • make && make install
  3. 使用clion创建project

mac下使用clion调试php内核源码

  1. 修改自动生成的CMakeLists.txt文件, 注意源码路径要根据情况调整

        cmake_minimum_required(VERSION 3.14)
        project(php_7_2_4)
        set(CMAKE_CXX_STANDARD 14)
        set(PHP_SOURCE /usr/local/src/php-7.2.4)
        include_directories(${PHP_SOURCE}/main)
        include_directories(${PHP_SOURCE}/Zend)
        include_directories(${PHP_SOURCE}/sapi)
        include_directories(${PHP_SOURCE}/pear)
        include_directories(${PHP_SOURCE}/TSRM)
        include_directories(${PHP_SOURCE})
        add_custom_target(makefile COMMAND make && make install WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
  2. 配置运行参数
    mac下使用clion调试php内核源码

  3. 在sapi/cli/php_cli.c文件中找到main函数,打断点

  4. 点击debug之后就可以进行调试了
    mac下使用clion调试php内核源码

遇到的问题

  1. iconv未安装,安装后提示“ld: symbol(s) not found for architecture x86_64”
    • 解决方法:编辑项目根路径下的Makefile,修改EXTRA_LIBS变量,删除-liconv,添加/usr/local/opt/libiconv/lib/libiconv.dylib

参考列表

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

clion 调试php7 系统卡死···· 不知道什么情况

4年前 评论

如果调试fpm?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!