windows下编译php7图形库php_ui.dll的示例分析
这篇“windows下编译php7图形库php_ui.dll的示例分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“windows下编译php7图形库php_ui.dll的示例分析”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
php有什么用
php是一个嵌套的缩写名称,指的是英文超级文本预处理语言(php:Hypertext Preprocessor)的缩写,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。
具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui
要是linux下编译起来比较简单 但是 windows下就麻烦些
编译环境搭建
php7.2.6的编译(windows环境)有几个重要的不同.
php7.2采用 vc15(vs2017)编译
php7的sdk php-sdk
编译环境搭建更加简单一些了.
具体环境搭建
安装vc15编译器
vs2017把编译器 和 ide 分开了,因为我们只需要编译器所以就不安装vs2017了(直接安装vs2017 免费版也可以)
注意win下单独下载cmake 并配置到系统环境中
http://landinghub.visualstudio.com/visual-cpp-build-tools
点击 下载地址 到下载页面 在下面找到 "Visual Studio 2017 生成工具" 下载 安装就可以了
注意选择 vc相关的程序 下面是安装的截图
下载 php-sdk 解压
https://github.com/Microsoft/php-sdk-binary-tools
解压到 d:\php_sdk\ (假设我们准备使用 d:\php_sdk\ 作为编译目录)
这时 d:\php_sdk\ 下面应该有
在 J:\compiler\php\sdk\binary-tools 运行phpsdk-vc15-x86.bat
在 php_sdk 目录 按住 shift 键 右键 点击 "在此处打开命令行窗口"
在命令行窗口运行 "phpsdk-vc15-x86.bat"
注释: 如果想编译 64位版本就运行 x64,
结果如下图(phpsdk目录不太一样)
运行 phpsdk_buildtree phpdev
这时候 J:\compiler\php\sdk\下面应该会有一个 phpdev 目录
下载 libui
解压到任意目录
mkdir build && cd build cmake -G"NMake Makefiles" NDEBUG ..
打开CMakeFiles\libui.dir\build.make:1298resources.rc.* 改成 resources.rc.res
cmake --build .
libui-alpha3.5\build\outout\libui.lib 和 out\libui.res 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\liblibui-alpha3.5ui.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\includeui_darwin.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\includeui_unix.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\includeui_windows.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
下载 pthreads-w32-2-9-1-release 点击到下载页面
pthreadVC2.lib 复制到 J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\lib
打开 pthread.h 开头增加预处理 内容如下
#define HAVE_STRUCT_TIMESPEC#define _TIMESPEC_DEFINED
将这个文件复制到
J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include
下载 php ui
https://github.com/krakjoe/ui
如果有当前使用版本可直接下载
http://pecl.php.net/package/ui
手册
http://php.net/ui
解压到php ext目录中并重命名为ui
进入 php-class="lazy" data-src 目录,执行
命令行 "cd /d J:\compiler\php\sdk\phpdev\vc15\x64\php-7.2.6" 进入 php 源码目录
命令行"phpsdk_deps --update --branch master" php会自动下载 需要的依赖包(以前需要手动下载php-dsp文件)
看到 successfully 字样 说明下载完成
执行 "buildconf"
命令行 执行 "buildconf"
如果提示 没有文件扩展“.js”的脚本引擎
可下载文件 运行解决 点击跳转
重新执行 buildconf
结果如下 说明运行完毕
$ buildconf
Rebuilding configure.js
Now run 'configure --help'
编译php
configure --disable-all --enable-cli --enable-fd-setsize=2048 --enable-sanitizer --with-ui=shared --with-curl=shared --disable-cgi
扩展--disable-zts--disable-cgi 编译出 windows 版本和 php-cgi.exe --disable-zts nts 非线程安全 --enable-shmop=shared 以dll 方式编译 php shmop 扩展
Makefile 如果链接提示库不存在 可修改makefile 修改如下LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib psapi.lib bcrypt.lib comdlg32.lib Gdi32.lib comctl32.lib version.lib d2d1.lib dwrite.lib windowscodecs.lib dxgi.lib d3d12.lib ScrnSave.Lib USP10.Lib UxTheme.lib
然后执行"nmake" 开始编译
等待数分钟(或者数10分钟)后,在php-源码目录应该能够找到 Release_TS 目录看见 php-ui了
最后 pthreadVC2.dll 和 libui.dll 复制到php 根目录
php-ui.dll 复制到 php ext目录
php ini 新增
extension=ui
ok下面是运行截图
感谢你的阅读,希望你对“windows下编译php7图形库php_ui.dll的示例分析”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341