参考
- https://github.com/zephir-lang/zephir (zephir官方库)
- https://github.com/zephir-lang/zephir/blob/development/WINDOWS.md (zephir windows 说明)
- chatgpt
- https://www.80shihua.com/archives/2535 (linux下使用Zephir开发扩展)
- https://zhuanlan.zhihu.com/p/24611638 (在 windows 下使用 zephir 写 php7 扩展,包含php_devpack下载地址,php_sdk下载地址)
- https://blog.csdn.net/jason19905/article/details/113483962 (windows10环境使用Zephir编写PHP7.4扩展)
- https://zhuanlan.zhihu.com/p/60764142 (使用 Zephir 轻松构建 PHP 扩展)
- https://blog.csdn.net/jiqiren_dasheng/article/details/103775488 (MinGW-w64 C/C++编译器下载和安装)
- https://blog.csdn.net/StudyOgre/article/details/89057590 (Visual Studio 2019 下载地址)
- https://github.com/zephir-lang/zephir/issues/2019 (检测配置问题)
- https://github.com/zephir-lang/zephir/issues/1564
- https://github.com/zephir-lang/zephir/issues/1154
- https://github.com/microsoft/php-sdk-binary-tools/releases/tag/php-sdk-2.2.0 (php_sdk,测试直接
git clone https://github.com/microsoft/php-sdk-binary-tools/
没有bison.exe
)
注意
环境
软件/系统 | 版本 | 说明 |
---|---|---|
windows | 10 | |
php | 8.1.9-Win32-vs16-x64 | |
php_sdk | php-sdk-binary-tools-php-sdk-2.2.0 | 已停止更新 下载 |
php_devpack | php-8.1.26-devel-vs16-x64 | 下载 |
composer | 2.4.4 | 下载 |
Visual Studio | Visual Studio 2019 | 下载 |
zephir | zephir-0.17.0 | 下载 |
zephir-parser | zephir_parser-php-8.1-ts-windows2019-vs16-x64 | 下载 |
vs code | 1.84.2 | |
Zephir for VSCode | v1.6.3 | vs code 扩展 |
步骤
准备工作
- 下载 php ,将 php 加入系统 PATH。
- 开启 php 扩展(在
zephir composer install
的时候会提示需要哪些扩展):
extension=gmp
extension=pdo_sqlite
- 下载 php_sdk ,加入系统变量与系统PATH。(注意,需要加到两个地方,一个是系统变量,一个是系统PATH中)
# 系统PATH
C:\xxxx\php-sdk-binary-tools-php-sdk-2.2.0\bin
C:\xxxx\php-sdk-binary-tools-php-sdk-2.2.0\msys2\usr\bin
# 系统变量
php_sdk C:\xxx\php-sdk-binary-tools-php-sdk-2.2.0
- 下载 php_devpack,将路径加入到系统PATH与系统变量:
这一步是安装 phpize
# 加入系统PATH
C:\xxxx\php-8.1.26-devel-vs16-x64
# 加入系统变量
php_devpack C:\xxxx\php-8.1.26-devel-vs16-x64
- 安装 Visual Studio 2019,并开启使用
C++ 的桌面开发
:
这里还要将
C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\microsoft.windows.sdk.buildtools\10.0.22621.756\bin\10.0.22621.0\x64
加入系统路径(你的可能没有这个路径,根据搜索结果去设置这个路径),因为会提示 mt.exe 不存在,我是通过 Everything 搜索到的,可能会有多个 mt.exe ,挨个测试下吧。
- 下载 Zephir Parser ,解压压缩包,将
php_zephir_parser.dll
放到 php 的ext
目录中,修改php.ini
开启扩展。修改完毕后可以用过命令行php -m
查看是否正常开启扩展。
[Zephir Parser]
extension=php_zephir_parser.dll
- 下载 zephir ,执行依赖安装命令,安装完毕后加入到系统PAYH。加入完成后可以通过命令行测试是否成功。
# zephir目录下手动执行安装依赖
composer install
# 手动加入系统PATH
C:\xxxx\zephir-0.17.0
# 命令行测试是否正常安装
> zephir
_____ __ _
/__ / ___ ____ / /_ (_)____
/ / / _ \/ __ \/ __ \/ / ___/
/ /__/ __/ /_/ / / / / / /
/____/\___/ .___/_/ /_/_/_/
/_/
Zephir 0.17.0 by Andres Gutierrez and Serghei Iakovlev (source)
...
编写与打包
- vs code 安装扩展
Zephir for VSCode
. - 创建项目
zephir init hello
- 编写代码
项目目录\hello\hello.zep
namespace Hello;
class hello
{
public static function say()
{
echo "hello world";
}
}
- 打开 Visual Studio 2019 命令行
x64 Native Tools Command Prompt for VS 2019
,我的 php 版本是 x64,所以使用 x64 的命令行(x64_x86命令行测试失败)。
# 每一行都是单独一个命令
%PHP_SDK%\bin\phpsdk_setvars
# 进入 init 项目的目录内
cd hello
# 打包
zephir build
- 将生成的
C:\Users\treas\Documents\Code\my\php-ext\hello\ext\x64\Release_TS\php_hello.dll
添加到 php 的ext
目录下,并在php.ini
启用扩展:
extension=hello
- 命令行查看扩展是否启用:
php -m
测试结果
- 创建
demo.php
<?php
\Hello\hello::say();
- 命令行运行
# 执行
php demo.php
# 输出
hello world
标签:Zephir,Windows10,PHP8.1,com,https,x64,php,zephir,sdk
From: https://www.cnblogs.com/xiaqiuchu/p/17869327.html