背景:
最近两篇专栏博文讲解的都是有关WEB PACS环境的搭建,如果搭建的平台后端不进行DICOM的相关操作,其实跟PACS压根就一点关系也没有,所以最近几篇看似有些跑题,不过大家不要着急,开发环境的搭建本身就是一项巨大而且艰难的工程,等调试好环境后续的PACS相关开发就会如单机版一样得心应手,再忍耐一会,近期马上会开始介绍在平台上进行WEB PACS的研发。
C/C++编写PHP扩展的环境搭建:
上两篇博文只是对该环境的一个取巧的尝试,第一篇博文直接利用APACHE服务自带的CGI,直接调用C编译后的exe文件,由于CGI技术已经逐渐被FastCGI取代,所以第一篇博文仅作为示范来用,不是运用到后期实际开发中;第二篇博文延续第一篇,试图进行图像的传输,最终也未能找到C语言实现图像数据传输的正确方法,只能偷懒的用PHP和Perl等解释型语言来实现,但是PHP和Perl不能很好与我们前面介绍的DCMTK融合,所以第二篇博文也没有太大的作用。鉴于上述原因,遂决定在已经搭建的FastCGI平台的基础上,添加C/C++语言编写PHP扩展的框架,来实现最终WEB PACS的完整开发环境。
前期准备:
1)PHP源码:下载PHP源码的目的是为了生成最新的、最符合本机的php运行程序,即php.exe(当然也可以直接百度/谷歌最新的PHP安装包,双击安装即可);
2)PHP源码编译:PHP源码是开源的,要求在linux下编译,所以需要在windows下安装一个mini的Linux编译环境,即下载Cygwin或者msys+MinGWin(两者详细的区别可参照此博文http://zengrong.net/post/1723.htm中的介绍);——记得安装完成Cygwin(即Linux编译器)后,修改ext_skel_win32.php中的$cygwin_path = 'c:\cygwin64\bin';语句,改为自己的路径,目的是为了指明sh.exe的位置。
3)PHP SDK:SDK,全称为Software Development Kit,顾名思义就是软件开发过程中常用的小工具(可理解为API)的集合。此处我们只需要使用php-binary-sdk包中的bison.exe和flex.exe,将其拷贝到当前windows目录下——目的是为了我们能够找到(也可将两者的路径添加到环境变量Path中)。
编译生成:
PHP源码编译:
本机电脑安装的是VS2012和VS2010,此处选择VS2012来编译PHP源码。首先进入VS的命令行状态,如下图:
输入:cd c:\PHPDev\php-5.6.2
转换到php源码目录,该目录下有buildconf.bat文件。(此处PHPDev是我自己建立的上一级目录,在实际编译过程中请更换为自己本地的目录)