Skip to content

window下开发指南

zhanglei edited this page Jan 3, 2021 · 1 revision

window下开发指南

如果您有兴趣开发phpsciter这篇文章希望可以帮到您?

phpsciter是基于php7.4开发的,如何进行windows下的phpsciter开发呢?

1.首先要安装visual studio 2017

根据官网的提示,安装版本请选择visualstudio 2017

	PHP 7.4 builds use Visual Studio 2017
	21 Aug 2019
	
	We used Visual Studio 2019 to build the early releases of PHP 7.4 (up to and including 7.4.0beta2). And although Visual Studio 2019 is generally an improvement over Visual Studio 2017, due to compatibility issues we have decided to switch back to Visual Studio 2017 for our PHP 7.4 builds, and we are planning to stick with this for the complete lifetime of PHP 7.4.
	
	Note that it is still possible to use Apache VS16 builds from Apachelounge in combination with PHP 7.4, since VS 2019 is forward compatible with VS 2017.
	
	Our master snapshots are still built with Visual Studio 2019, and we are planning to stick with Visual Studio 2019 for PHP 8.0.

下载地址为:

https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

安装visualstudio,安装vc c++开发组件

2.安装php官方的开发环境

官方环境下载地址为:

	https://windows.php.net/downloads/php-sdk/

解压你需要的一个版本的文件

首先我们打开命令行,输入

D:\php\php-sdk-binary-tools-master>cd php-sdk-binary-tools-master

php7.4采用vc15 win32

所以我们在这里要选择

>.\phpsdk-vc15-x64.bat

初始化进入zend vc15的开发环境

$ phpsdk_buildtree phpdev

构建zend的目录树

构建完成php目录树之后,将php源码拷贝到

phpdev\vc15\x64\php-7.4.13-src

进入对应目录下

cd phpdev\vc15\x64\php-7.4.13-src

进入对应目录后解析源码(禁用所有扩展,只开启命令行和debug,关闭线程安全)

 configure --disable-all --enable-cli --enable-debug --disable-zts

安装

nmake

会看到目录下生成 \x64\Debug

3.构建visualstudio 开发环境

使用visualstudio 打开phpsciter源码之后,点击visualstudio 的项目属性

1)引入头文件目录(php7.4的和phpsciter的),打开vc++目录输入包含目录

D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src
D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src\Zend\
D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src\main\
D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src\TSRM
D:\project\php-extension\phpsciter-master\phpsciter-master
D:\project\php-extension\phpsciter-master\phpsciter-master\include

2)引入vc的库目录,点击链接器

链接器----》输入-------》附加依赖项(引入lib静态库)

D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src\x64\Release\php.lib
D:\php\php-sdk-binary-tools-master\phpdev\vc15\x64\php-7.4.13-src\x64\Release\php7.lib

3.在属性中设置预处理

打开 c/c++ ---------->预处理器,加入

ZEND_DEBUG=0
PHP_EXTENSION
PHP_WIN32
ZEND_WIN32
HAVE_PHPSCITER=1
COMPILE_DL_PHPSCITER

4.打开本地调试器生成扩展