(参照数个网络文学)
1、浏览php源码
那个中文网站有源码,但不从这儿浏览
https://www.php.net/
从这儿浏览源码
git clonehttps://gitcode.net/mirrors/php/php-src.git
浏览用于构建php的php sdk工具
git clone https://gitcode.net/mirrors/microsoft/php-sdk-binary-tools.git
下面那个没用到
https://windows.php.net/downloads/php-sdk/
从这儿查看使用哪个版本
https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
编译master分支,目前是php8.2,是visual studio2019编译的
2、安装vscode
C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code
安装C/C 插件
3、编译可debug的php
运行php sdk工具的 phpsdk-vc15-x64.bat
会打开命令行
执行phpsdk_deps –update –branchmaster
报错可忽略
继续执行
buildconf.bat
选择开启SAPI cli、开启debug模式、开启phar扩展;由于cli是单线程的,方便接下来的增容。然后运行configure
开启debug
configure –disable-all –enable-cli –enable-debug –enable-phar
显示已加载的扩展等等配置信息
执行nmake
编译成功
查看编译版本,是PHP 8.2.0-dev (cli)
php构建成功
4、浏览MinGW-W64 GCC-8.1.0
https://sourceforge.net/projects/mingw-w64/files/
加到环境变量
D:\tools\mingw64\bin
测试gcc -v
5、使用vscode打开php源码目录
vscode F5增容,没出现C
没C
额外安装Codelf、vscode-icons,便于浏览代码
继续安装那个插件
打开.h文件,自动识别安装
打开C文件,按F5出现
6、开始增容
在php-src\x64\Debug_TS下创建test.php,任意写一些语句。
在php\php-src\.vscode目录下创建文件
launch.json
内容:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
“version”: “0.2.0”,
“configurations”: [
{
“name”: “php-8.2.0-dev source code debugger”,
“type”: “cppvsdbg”,
“request”: “launch”,
“program”: “${workspaceFolder}/x64/Debug_TS/php.exe”,
“args”: [“test.php”],
“stopAtEntry”: false,
“cwd”: “${workspaceFolder}/x64/Debug_TS/”,
“environment”: [],
“console”: “externalTerminal”
}
]
}
在sapi\cli\php_cli.c的mian函数打断点
按F5启动增容
点击
或按F5继续
php增容完成输出结果
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!