在Windows环境下使用IIS和SQL Server搭建Drupal开发环境及安装Drush工具
1. 前言
在开发Drupal项目时,通常可以选择Apache和MySQL作为开发环境。但如果你想使用IIS和SQL Server来替代它们,也是可行的。下面将详细介绍如何在Windows环境下搭建基于IIS和SQL Server的Drupal开发环境,以及安装Drush工具。
2. 准备工作
- Drupal 7版本开始对数据层进行了抽象,基于PHP Data Objects(PDO),使得数据库引擎与PHP核心解耦,方便接入除MySQL之外的数据库。为了在SQL Server上运行Drupal,开发了php_pdo_sqlsrv.dll这个PHP扩展。
- PHP在微软环境下变得更加友好,同时微软的Internet Information Server(IIS)也对开源世界更加兼容,借助FastCGI和Windows Cache Extension for PHP(WinCache),IIS能很好地与PHP配合。
3. 安装必要组件
可以从 这里 获取所需的组件。点击左侧“Install Drupal 7 with SQL Server”标签,会看到相关页面。
- 点击“Install”按钮,会弹出用户账户控制(UAC)警告,点击“Yes”继续,将看到Microsoft Web Platform Installer。
- 在安装程序中,确保设置安装以下组件:
- Web Server :
- CGI
- Static Content
- Default Document
- Directory Browsing
- HTTP Errors
- URL Rewrite 2.0
- Web Deployment Tool 1.1
- HTTP Logging
- Logging Tools
- Request Monitor
- Advanced Logging
- IIS Management Console
- Static Content Compression
- Request Filtering
- Frameworks and Runtimes :
- .NET Framework 3.5 SP1
- Microsoft .NET Framework 4
- Windows Cache Extension 1.1 for PHP 5.2
- PHP Manager for IIS
- PHP 5.2.14
- Database :
- Microsoft SQL Server Driver for PHP 2.0
- SQL Server Express 2008 R2
点击“Install”,然后在确认页面接受许可条款,等待安装完成,出现安装成功的界面。
4. 下载并部署Drupal核心代码
- 回到微软Drupal网站,点击“Download”按钮下载Drupal代码。需要注意的是,目前针对SQL Server定制的Drupal包还处于alpha阶段。
- 将下载的包解压到桌面或其他方便的位置,无需放在inetpub目录结构中,因为有脚本会处理这个操作。在解压后的目录中,点击“DeployDrupalOnSqlServer.exe”启动部署过程。该脚本会调用“GenericSetup.cmd”,它会在SQLEXPRESS实例上创建数据库,添加一些服务账户权限,并将Drupal模块复制到IIS文件夹层次结构中。
5. 在VS.Php中加载项目
- 从Visual Studio中选择“File” -> “New” -> “Php Project from Existing Code”,在新的项目向导中指定现有代码的位置,即IIS默认使用的目录,也就是之前脚本复制Drupal文件的目录。给项目取一个合适的名称,然后点击“Next”。
- 在项目类型屏幕中,选择“Web project”,以便将适当的工具集成到开发环境中。注意,将PHP平台设置为5.2,因为截至目前,SQL驱动仅在PHP 5.2上进行了测试。
- 向导会扫描目录并询问要包含在解决方案中的子目录,由于是在学习Drupal,建议暂时包含所有目录,这样可以进行全核心的调试,了解其工作原理。最后点击“Next”和“Finish”,项目将加载到Visual Studio环境中。
6. 配置项目使用IIS
- 默认情况下,VS.Php配置为使用自己的Apache Web服务器运行代码,需要将其更改为使用IIS。通过选择“Project” -> “{your project name} Properties”进入项目属性页面。
- 在属性页面中,将调试模式更改为使用IIS,从下拉菜单中选择“Local IIS web server”,这将启动一个配置IIS 7的向导。
- 需要创建一个新的虚拟目录,勾选“Advanced Settings”框,点击“Next”,输入新虚拟目录的名称。如果已经有一个名为“drupal”的虚拟目录,可以创建另一个以区分。
- 当平台安装程序安装FastCGI时,会设置一个应用程序池,这里可以选择使用默认的应用程序池。点击“Next”查看配置审核屏幕,确认无误后点击“Next”完成IIS配置,最后点击“Finish”返回项目属性页面,点击“OK”回到开发环境。
7. 进行Drupal核心安装
从Visual Studio中按F5开始调试,Visual Studio会与VS.Php协作,打开Internet Explorer并开始执行代码,你将看到Drupal安装程序。
- 选择一个安装配置文件,点击“Save and continue”。
- 选择合适的语言,再次点击“Save and continue”。Drupal安装代码会检查所有要求是否满足,如果出现问题,需要解决这些问题才能继续。例如,如果提示某个目录不存在,创建该目录并重新尝试安装。
- 当要求进行数据库配置时,会发现无法选择Microsoft SQL Server,这是因为需要安装PHP能识别的驱动,并告知PHP驱动的位置。
- 回到IIS,选择之前创建的虚拟目录,双击“PHP Manager”。
- 点击“View recommendations”,查看并接受所有建议,点击“OK”。
- 点击“Change PHP version”,选择Program Files下PHP目录中的PHP版本,点击“OK”。
- 在“PHP Extensions”下,点击“Add an extension”,输入扩展的位置。安装程序应该已经将驱动文件放在了“C:\Program Files\PHP\ext”目录中,如果没有,需要找到并复制到该目录。重复此过程添加“php_sqlsrv.dll”。
- 从PHP Manager中点击“Check phpinfo()”,会加载一个PHP页面并执行“phpinfo()”命令,该命令会将各种配置信息输出到窗口。点击执行位置后,查看页面中“PDO”部分,确保SQL Server PDO驱动已加载且PHP能识别。
- 对初始化文件进行更改后,可能需要从任何命令提示符中执行“iisreset”命令来重置IIS。
- 返回正在进行安装的浏览器,按F5刷新,此时SQL Server应该会作为可选数据库出现。
- 输入脚本创建的数据库名称和拥有该数据库的用户名称。如果信息正确,安装程序将创建并填充所有表,显示进度。
- 表创建完成后,提供一些关于网站的基本信息,安装程序会将这些信息写入数据库,并显示安装完成的界面。点击“Visit your new site”,即可开始管理网站和创建内容。
8. 安装Drush工具
Drush即“Drupal shell”,是一个PHP脚本,能处理很多日常开发中经常要做的事情,可从命令行处理许多管理任务。很多提供Drupal的托管服务提供商已经安装了Drush,它依赖于一些标准的 nix工具,如wget、tar和gzip。由于标准的Windows机器没有这些工具,需要手动安装。
- 下载Drush :从 这里 下载Drush的最新版本,使用解压工具将文件放到合适的目录,例如“c:\drush”,稍后会将其添加到环境路径中。
- 安装Drush先决条件 :需要安装四个GNU包,分别是:
- libarchive
- gzip
- wget
- gtar
- 以libarchive为例,下载其安装程序并使用默认设置运行,安装完成后不会自动更改路径,后续会统一处理。
- 设置环境变量 *:需要将Drush、PHP和上述安装的二进制文件的路径添加到PATH环境变量中。操作步骤如下:
- 右键点击“Computer”,选择“Properties”。
- 点击“Advanced system settings”,然后选择“Environment Variables”。
- 在相应的变量中添加所需的路径。
9. 总结
通过以上步骤,我们成功在Windows环境下使用IIS和SQL Server搭建了Drupal开发环境,并安装了Drush工具。需要注意的是,使用IIS和SQL Server搭建的“WISP”栈处于Drupal开发的前沿,存在一定风险。因为并非所有开发者都习惯使用数据库抽象层,一些从早期Drupal版本移植过来的模块可能在MySQL上测试正常,但在“WISP”栈上可能会出现问题。不过,随着越来越多的人熟悉数据库抽象层,代码会变得更加安全和易读。
以下是安装过程的流程图:
graph LR
A[准备工作] --> B[安装必要组件]
B --> C[下载并部署Drupal核心代码]
C --> D[在VS.Php中加载项目]
D --> E[配置项目使用IIS]
E --> F[进行Drupal核心安装]
F --> G[安装Drush工具]
以下是安装组件的表格:
| 分类 | 组件名称 |
| ---- | ---- |
| Web Server | CGI、Static Content、Default Document等 |
| Frameworks and Runtimes | .NET Framework 3.5 SP1、Microsoft .NET Framework 4等 |
| Database | Microsoft SQL Server Driver for PHP 2.0、SQL Server Express 2008 R2 |
在Windows环境下使用IIS和SQL Server搭建Drupal开发环境及安装Drush工具
10. 使用“WISP”栈开发的风险与应对
使用IIS和SQL Server搭建的“WISP”栈虽然为Drupal开发带来了新的选择,但也存在一定风险,主要体现在数据库访问方面。以下为你详细分析:
- 模块兼容性问题 :很多由其他作者贡献的Drupal模块是从早期版本移植过来的。这些作者在编写访问数据库的代码时,可能没有充分考虑数据库抽象层,而是直接读写假设为MySQL的数据库。他们可能仅在MySQL上进行测试,就认为模块可以正常工作。但当你在“WISP”栈上安装这些模块时,很可能会出现问题。
- 应对策略 :随着开发者对数据库抽象层的熟悉,他们会逐渐学会以数据库无关的方式编写代码。这不仅有利于数据库操作,还能提高代码的安全性和可读性。建议在选择使用第三方模块时,仔细查看其文档和代码,确保其对数据库抽象层有良好的支持。
11. Drush工具的优势与适用场景
Drush作为Drupal开发中不可或缺的工具,具有诸多优势,以下为你具体介绍:
- 提高开发效率 :Drush是一个PHP脚本,能处理很多日常开发中频繁进行的任务。它允许你从命令行处理各种管理任务,避免了在图形界面中进行繁琐的操作。例如,你可以使用Drush快速安装、更新和卸载模块,而无需通过Drupal的管理界面逐一操作。
- 适用场景广泛 :许多提供Drupal的托管服务提供商已经预装了Drush。对于Drupal开发者来说,无论是在本地开发环境还是生产环境中,Drush都能发挥重要作用。即使你不使用Drush也能进行Drupal开发,但使用它可以让开发过程更加高效和便捷。
12. 总结与展望
在Windows环境下使用IIS和SQL Server搭建Drupal开发环境,并安装Drush工具,为开发者提供了更多的选择和便利。“WISP”栈虽然处于Drupal开发的前沿,存在一定风险,但随着技术的发展和开发者对数据库抽象层的深入理解,这些问题将逐渐得到解决。
以下是使用“WISP”栈开发的优缺点对比表格:
| 优点 | 缺点 |
| ---- | ---- |
| 可使用IIS和SQL Server,提供更多选择 | 部分模块可能存在兼容性问题 |
| Drush工具提高开发效率 | 新技术存在一定风险 |
以下是Drush工具操作的流程图:
graph LR
A[安装Drush] --> B[配置环境变量]
B --> C[使用Drush执行任务]
C --> D{任务完成?}
D -- 是 --> E[结束]
D -- 否 --> C
通过本文的介绍,你可以按照详细的步骤在Windows环境下搭建Drupal开发环境,并安装Drush工具。在开发过程中,要充分认识到“WISP”栈的风险,合理使用数据库抽象层和Drush工具,以提高开发效率和代码质量。希望你在Drupal开发的道路上取得更好的成果!
超级会员免费看
11

被折叠的 条评论
为什么被折叠?



