(参照数个网络文学)

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增容完成输出结果

自动草稿
1.本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2.分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3.不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4.本站提供的源码、模板、插件等其他资源,都不包含技术服务请大家谅解!
5.如有链接无法下载或失效,请联系管理员处理!
6.本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!