操作步骤

1、下载源码

2、安装

./configure --prefix = 指定安装路径 --with-config-file-path = 指定配置文件读取路径 --with-iconv = 指定 iconv 安装的路径 --enable-debugmake && make install

3、使用 clion 创建 project

c683fc2c4ada08fdf7eff59e73be004.png

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、配置运行参数

306c82112eddce1061fb5064dca9cd8.png

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

7、点击 debug 之后就可以进行调试了

daa412ed8fb80ecc5b93f5777d18ef2.png

遇到的问题

iconv 未安装,安装后提示 “ld: symbol (s) not found for architecture x86_64”

解决方法:

编辑项目根路径下的 Makefile, 修改 EXTRA_LIBS 变量,删除 - liconv, 添加 /usr/local/opt/libiconv/lib/libiconv.dylib

更多相关文章

  1. 分享新浪图床上传接口源码
  2. 简单的路径规划案例分享
  3. 我扒了半天源码,终于找到了Oauth2自定义处理结果的最佳方案!
  4. VS Code源码简析
  5. 图解源码 | 接管SpringMVC的自动配置
  6. 图解源码 | SpringBoot中拓展SpringMVC原理
  7. 从一次问题讨论聊聊我对阅读源码的思考
  8. 面试常问,你看源码学到了什么?
  9. 看源码,我为什么推荐IDEA?

随机推荐

  1. 快速配置IIS 6.0 php fastcgi +Zend Opti
  2. Ionic-3如何动态改变离子主题
  3. Apache引起的wampserver安装好第二次使用
  4. PHP面向对象笔记 —— 113 封装概念
  5. 如果改变输入值,jQuery提交表单
  6. Kohana框架3.3 cookie设置两次
  7. angular.min.js:107 Error: [ng:areq] ht
  8. PHP多线程编程
  9. 使用AJAX将数据发送到.php文件,如何从中获
  10. 解决PHP导出大量数据时设置超链接的问题