Mac 下使用 clion 调试 PHP 内核源码
16lz
2021-01-22
操作步骤
1、下载源码
2、安装
./configure --prefix = 指定安装路径 --with-config-file-path = 指定配置文件读取路径 --with-iconv = 指定 iconv 安装的路径 --enable-debugmake && make install
3、使用 clion 创建 project
4、修改自动生成的 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})
5、配置运行参数
6、在 sapi/cli/php_cli.c 文件中找到 main 函数,打断点
7、点击 debug 之后就可以进行调试了
遇到的问题
iconv 未安装,安装后提示 “ld: symbol (s) not found for architecture x86_64”
解决方法:
编辑项目根路径下的 Makefile, 修改 EXTRA_LIBS 变量,删除 - liconv, 添加 /usr/local/opt/libiconv/lib/libiconv.dylib
更多相关文章
- 分享新浪图床上传接口源码
- 简单的路径规划案例分享
- 我扒了半天源码,终于找到了Oauth2自定义处理结果的最佳方案!
- VS Code源码简析
- 图解源码 | 接管SpringMVC的自动配置
- 图解源码 | SpringBoot中拓展SpringMVC原理
- 从一次问题讨论聊聊我对阅读源码的思考
- 面试常问,你看源码学到了什么?
- 看源码,我为什么推荐IDEA?