一、下载源码
源码可以自己下载这里不细说
二、编译和安装php源码
目录我设置在我源码下的output,为了不和本地的环境冲突,注意,如何有报错 可能是 libiconv 缺失,安装好libiconv加入路径参数
./configure --prefix=/home/lili/CLionProjects/php-7.1.2/output --enable-fpm --enable-debug --with-iconv=/usr/local/libiconv
make
make install
三、配置clion
3.1创建cmake项目
使用clion 使用cmake项目,项目目录就是你的编译好的php内核源码目录
3.2 配置 cmake配置 CMakeLists.txt
使用下面的覆盖自动生成的 CMakeLists.txt 注意源码路径和版本
cmake_minimum_required(VERSION 3.17)
project(php_7_1_2)
set(CMAKE_CXX_STANDARD 14)
set(PHP_SOURCE /home/lili/CLionProjects/php-7.1.2)
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})
3.3 (重要配置)配置运行环境
在右上角的配置地方打开配置
target : 是你源码的makefile,这里可以选我这个,我编辑器没有makefile这个选项,就选择了全部,不然会报错 clion make: *** 没有规则可制作目标
executable:是你源码安装生成的 PHP可执行文件,我选择的是我的 “/home/lili/CLionProjects/php-7.1.2/output/bin/php” 因为我安装的时候选择了这个目录
program arguments : 你的调试命令, 看图,完整的意思 是 /home/lili/CLionProjects/php-7.1.2/output/bin/php -f xxxx/tes.php (后面你运行的时候,会基于这个php脚本来调试php内核源码)
working directory : 源码目录
保存就好
3.4 调试运行
在 program arguments 指定的php文件,建立php 脚本文件
例如我的test.php 文件内容
<?php
echo "Hello world!";
?>
在 CLionProjects/php-7.1.2/sapi/cli/php_cli.c 的 main 函数打个断点
点击运行调试
大功告成
后面需要学习的地方,我继续更新