Windows和symf欧宝娱乐app下载地址ony
Laurent阀盖
概述
本文档是一个新的一步一步的教程覆盖安装,部署和symfony框架的功能测试在Windows Server 2008上。欧宝娱乐app下载地址
为了准备网络部署,本教程可以执行在一个专用的服务器环境中,托管在互联网上。
当然,有可能完成本教程在本地服务器上,或在读者的虚拟机工作站。
一个新的教程的原因
目前,有两个相关的信息来源Microsoft Internet information Server (IIS)在symfony欧宝娱乐app下载地址网站,但他们指的是以前的版本,还没有进化出新的版本的Microsoft Windows操作系统,尤其是Windows Server 2008(2008年2月发布),其中包括许多PHP开发人员感兴趣的变化:
IIS版本7,嵌入在Windows Server 2008,版本是完全重写一个完全模块化设计。
IIS 7已经被证明是非常可靠,用很少的修复需要从Windows更新以来,推出的产品。
IIS 7还包括FastCGI加速器,多线程应用程序池,利用本机Windows操作系统的线程模型。
PHP的FastCGI实现相当于5倍到10倍的性能提升执行,没有缓存,相比传统的ISAPI或CGI的部署PHP在Windows和IIS。
最近,微软向缓存PHP加速器,窗帘在候选版本状态在撰写本文时(2009-11-02)。
侧边栏
本教程扩展计划
这一章是一个补充的部分作品和将在symfony项目网站上公布后不久的出版这本书。欧宝娱乐app下载地址它覆盖到MS SQL Server的连接通过PDO,微软计划很快改善。
[PHP_PDO_MSSQL] = php_pdo_mssql.dll延伸
目前,代码执行的最佳性能是通过PHP 5的微软本地SQL Server的司机,一个开源驱动程序在Windows和目前在1.1版本中可用。这是作为一个新的PHP扩展DLL实现:
[PHP_SQLSRV] = php_sqlsrv.dll延伸
可以使用Microsoft SQL Server数据库的2005年或2008年。教程的扩展计划将覆盖的使用是免费的版:SQL Server Express。
本教程如何玩不同的Windows系统,包括32位
本文档是专门为64位版本的Windows Server 2008。然而,您应该能够使用其他版本没有任何并发症。
请注意
操作软件的具体版本中使用的截图是Windows Server 2008企业版服务包2,64位版本。
32位版本的Windows
本教程很容易移植到32位版本的Windows,通过替换以下引用的文本:
在64位版本:
C:\Program Files (x86)\
和C:\Windows\SysWOW64\
在32位版本:
C:\Program Files\
和C:\Windows\System32\
关于企业以外的版本
同样的,如果你没有企业版,这不是一个问题。本文档直接移植到其他版本的Windows服务器软件:Windows Server 2008网络,标准或数据中心网络Windows Server 2008,标准或数据中心服务包2 Windows Server 2008 R2的Web标准,企业或者数据中心版本。
请注意,所有版本的Windows Server 2008 R2只有64位操作系统。
关于国际版本
区域设置中使用的截图en - us
。我们也为法国国际语言包安装。
可以执行本教程在Windows客户机操作系统:Windows XP操作系统,Windows Vista和Windows 7在x64和x86模式。
Web服务器文档中使用
web服务器使用Microsoft Internet Information server version 7.0中,这是包含在所有Windows server 2008版本作为一个角色。我们开始本教程与功能齐全的Windows Server 2008服务器和安装IIS从零开始。安装步骤使用默认选择,只需添加两个特定模块的IIS 7.0模块化设计:FastCGI和URL重写。
数据库
SQLite是symfony的配置数据库沙箱。欧宝娱乐app下载地址在Windows上,没有什么具体的安装:SQLite支持直接实现PDO SQLite的PHP扩展,这是安装在PHP安装的时间。
因此,没有必要SQLITE.EXE下载并运行一个单独的实例:
[PHP_PDO_SQLITE] = php_pdo_sqlite.dll延伸
Windows服务器配置
最好是使用新安装的Windows服务器为了符合循序渐进的截图在这一章。
当然你可以直接在现有的机器上,但你可能遇到的差异由于安装的软件,运行时,区域配置。
你为了得到相同的截图显示在本教程中,我们建议获得一个专用的Windows服务器在一个虚拟环境中,免费在互联网上一段30天。
侧边栏
如何获得一个免费的Windows Server审判?
当然可以使用任何与互联网接入专用服务器。物理服务器或虚拟专用服务器(VDS)将工作完美。
一个30天的服务器与Windows可以从Ikoula审判,一位法国网络主机提供了一个全面的开发人员和设计人员的服务列表。这个试验是从0€/月Windows运行在微软的hyper - v虚拟机环境。是的,你可以得到一个全功能的虚拟机与Windows Server 2008的Web标准,企业甚至数据中心版免费一段30天。
,打开您的浏览器访问http://www.ikoula.com/flex_server并单击“Testez gratuitement”按钮。
为了使本文中概述的消息一样,我们订购的操作系统与Flex服务器是:“Windows server 2008企业版64位”。这是一个x64分布、交付- fr和en - us场所。很容易转换- fr
来en - us
从Windows控制面板,反之亦然。具体来说,此设置可以在“区域和语言选项”,生活在“键盘和语言”选项卡。点击“安装/卸载语言”。
是强制性的管理员访问服务器。
如果从远程工作站工作,读者应该运行远程桌面服务(原名终端服务器客户端),确保他有管理员访问。
这里使用的分布是:Windows Server 2008 Service Pack 2。
Windows Server 2008安装图形环境,与Windows Vista的外观和感觉。也可以使用命令行版本的Windows Server 2008相同的服务,以减少大小的分布(1.5 GB,而不是6.5 GB)。这也减少了攻击表面和Windows更新补丁的数量需要应用。
初步检查,专用服务器在互联网上
由于服务器直接访问在互联网上,它总是一个好主意来检查Windows防火墙提供积极的保护。唯一的例外,应该检查有:
- 核心网络
- 远程桌面(如果远程访问)
- 安全World Wide Web服务(HTTPS)
- World Wide Web服务(HTTP)
然后,它总是好的运行一轮Windows更新,以确保所有的软件部分是最新的和最新的补丁,补丁,和文档。欧宝体育电话
作为最后一步的准备,为了消除任何潜在的冲突的参数在现有Windows分布或IIS配置中,我们建议您在Windows server卸载Web角色,如果以前安装的。
安装PHP——只要多点击几下鼠标
现在,我们可以在一个简单的PHP安装IIS和操作。
PHP不是一个Windows Server 2008分布的一部分,因此我们首先需要安装微软Web平台安装程序2.0,被称为Webπ在以下部分中。
Web PI负责安装所需的所有依赖项执行PHP在任何Windows / IIS系统。因此,它与最小角色服务部署IIS Web服务器,并为PHP运行时还提供最少的选项。
安装微软Web平台安装程序2.0包含一个配置分析仪,检查现有模块,提出任何必要的模块升级,甚至允许您测试un-released微软Web平台的扩展。
Web PI 2.0提供了PHP运行时安装在一个点击。选择安装的“不是线程安全”Win32实现PHP,这是最好的与IIS 7和FastCGI有关。它还提供了最近测试运行时,这里5.2.11。找到它,只需选择左边的“框架和运行时”标签:
在选择PHP, Web 2.0π自动选择服务所需的所有依赖项. php
存储在服务器上的web页面,包括最小的IIS 7.0角色服务:
接下来,单击Install,然后在“我接受”按钮。组件的安装IIS将开始,同时,PHP是下载运行时和一些模块更新(例如IIS 7.0 FastCGI的更新)。
最后,PHP安装程序执行,几分钟后,应该显示:
单击“完成”。
Windows服务器现在听和能回答在端口80上。
让我们检查这个浏览器中:
现在,检查PHP是正确安装,从IIS和可用,我们创建一个小的phpinfo.php
文件访问默认web服务器在端口80上C: \ inetpub \ wwwroot
。
在做这项工作之前,确保,在Windows资源管理器中,我们可以看到正确的扩展的文件。选择“取消隐藏已知文件类型的扩展”。
打开Windows资源管理器,去C: \ inetpub \ wwwroot
。右键单击,选择“新文本文档”。将它重命名为phpinfo.php
并复制常用函数调用:
接下来,打开web浏览器,并把/ phpinfo.php
在服务器的URL:
最后,为了确保symfony将安装没有任何问题,欧宝娱乐app下载地址下载http://sf-to.org/1.3/check.php。
将其复制到相同的目录中phpinfo.php
(C: \ inetpub \ wwwroot
)和重命名它check_configuration.php
如果有必要的话)。
最后,最后一次打开web浏览器,并把/ check_configuration.php
在服务器的URL:
从命令行执行PHP接口
为了以后用symfony命令行执行任务,我们需要确保PHP。欧宝娱乐app下载地址EXE是可以从命令提示符,并正确执行。
打开一个命令提示符C: \ inetpub \ wwwroot
和类型
PHP phpinfo.php
应该会出现以下错误消息:
如果我们不做任何事情,PHP的执行。EXE挂在MSVCR71.DLL的缺失。所以,我们必须找到DLL文件和安装在正确的位置。
这MSVCR71.DLL
是一个老版本的Microsoft Visual c++运行时,它可以追溯到2003年的时代。它是包含在。net Framework 1.1可再发行的方案。
. net Framework 1.1可再发行的包,可以在下载MSDN
我们正在寻找的文件是安装在以下目录:C:\Windows\ Microsoft.NET \ Framework \ v1.1.4322
只是复制MSVCR71.DLL
文件以下目标:
- 在x64系统:
C: \ windows \ syswow64
目录 - 在x86系统上:
C: \ windows \ system32系统
目录
我们现在可以卸载。net Framework 1.1。
PHP。EXE可执行文件现在可以从命令提示符运行没有错误。例如:
PHP phpinfo.phpPHP check_configuration.php
后,我们会确认SYMFONY。欧宝娱乐app下载地址蝙蝠(从Sandbox分布)也给预期的反应,这是symfony命令的语法。欧宝娱乐app下载地址
欧宝娱乐app下载地址Symfony沙箱中安装和使用
下面的段落摘录从“开始使用symfony”,欧宝娱乐app下载地址“沙盒”:页面:“沙箱是dead-easy-to-install预包装的symfony项目,已经配置了一些合理的默认值。欧宝娱乐app下载地址这是一个很好的方法来练习使用symfony的麻烦一个合适的安装,网络方面欧宝娱乐app下载地址的最佳实践”。
沙箱预配置使用SQLite数据库引擎。在Windows上,没有什么具体的安装:SQLite支持直接实现PDO SQLite的PHP扩展,这是安装的PHP的安装。我们已经完成了这个早些时候当PHP运行时通过网络安装微软的π。
简单检查SQLite扩展是正确在PHP。INI文件,该文件驻留在C:\Program Files (x86)\PHP
目录,DLL实现PDO SQLite将支持C:\Program Files (x86)\PHP\ext\ php_pdo_sqlite.dll
。
下载、创建目录、复制所有文件
symf欧宝娱乐app下载地址ony沙箱项目是“准备好安装和运行”,并有. zip
档案。
下载存档并将其解压缩到一个临时位置,如“下载”目录,供R / WC:\Users\管理员
目录中。
创建一个目录的最终目的地沙箱,等F: \开发\ sfsandbox
:
选择所有文件-ctrl - a
在Windows资源管理器——从你的下载位置(源),并将其复制到F: \开发\ sfsandbox
目录中。
您应该看到2599项复制到目标目录:
执行测试
打开命令提示符。改变F: \开发\ sfsandbox
执行以下命令:
PHP 欧宝娱乐app下载地址symfony - v
这应该返回:
欧宝娱乐app下载地址symfony 1.3.0版本版本(F: \开发\ sfsandbox \ lib \ symfony)
从相同的命令提示符下,执行:
欧宝娱乐app下载地址SYMFONY。蝙蝠- v
这将返回相同的结果:
欧宝娱乐app下载地址symfony 1.3.0版本版本(F: \开发\ sfsandbox \ lib \ symfony)
Web应用程序创建
在本地服务器上创建一个web应用程序,我们使用IIS7管理器,它是所有的图形用户界面控制面板IIS有关活动。所有操作从UI实际上是执行触发幕后通过命令行接口。
IIS管理器控制台访问从开始菜单项目,管理工具,互联网信息服务器(IIS)经理。
重新配置“默认网站”所以不干涉在端口80上
我们想确保只有symfony沙箱回应在端口80 (HTTP)。欧宝娱乐app下载地址要做到这一点,改变现有的“默认网站”端口8080。
请注意,如果Windows防火墙被激活时,您可能必须创建一个异常对8080端口仍然能够达到“默认网站”。为此,Windows控制面板,选择Windows防火墙,点击“允许一个程序通过Windows防火墙”,并单击“添加端口”创建例外。创建后的复选框来启用它。
添加一个新网站的沙箱
打开IIS管理器管理工具。在左边窗格中,选择“站点”图标,右键单击。从弹出菜单中选择Add Web站点。例如,输入“Symfony沙箱”网站的名字,欧宝娱乐app下载地址D: \开发\ sfsandbox
的物理路径,让其他字段不变。您应该看到这个对话框:
单击OK。如果一个小x
出现在网站图标(在功能视图/网站),别再犹豫了,点击“重启”在右边窗格使它消失。
检查网站是否回答
从IIS管理器,选择“Symfony沙箱”网站,在右边窗格中欧宝娱乐app下载地址,单击“浏览*。80 (http)”。
你应该得到一个明确的错误信息,这不是意外:HTTP错误403.14 -禁止的
。Web服务器被配置为不列出此目录的内容。
这源于默认web服务器配置,指定该目录的内容不应该列出。因为没有默认文件等index . php
或index . html
存在于D: \开发\ sfsandbox
正确,服务器返回错误消息“禁止”。不要害怕。
类型http://localhost/web
在浏览器的地址栏,而不是http://localhost
。您现在应该看到你的浏览器,Internet Explorer在默认情况下,显示“创建Symfony项目”:欧宝娱乐app下载地址
顺便说一下,您可能会看到一个淡黄色带顶部说“现在局域网设置默认关闭了”。局域网设置比互联网更安全设置。点击选项。不要害怕这条消息。
永久关闭它,右键单击黄色乐队,并选择适当的选项。
这个屏幕确认默认值index . php
页面被正确加载D: \开发\ sfsandbox \ web \ index . php
正确地执行,symfony库是正确配置。欧宝娱乐app下载地址
我们需要执行最后一次任务之前开始玩symfony沙箱:配置前端web页面通过导入URL重写规则。欧宝娱乐app下载地址这些规则被实现为. htaccess
文件,并可以控制在几个点击在IIS管理器。
沙盒:Web前端配置
我们想要配置沙箱应用程序前端为了开始玩真正的symfony的东西。欧宝娱乐app下载地址默认情况下,前端页面时可以达成并执行正确的要求从本地机器(即本地主机
名或127.0.0.1
地址)。
让我们探索“配置”、“日志”和“计时器”web调试面板确保沙箱是Windows Server 2008全功能。
虽然我们可以尝试请求沙箱应用程序从互联网或从远程IP地址、沙箱设计主要是作为一种工具来学习symfony框架在本地机器上。欧宝娱乐app下载地址因此,我们将讨论相关细节远程访问在上一节:项目:web前端配置。
创建一个新的symfony项目欧宝娱乐app下载地址
创建一个symfony欧宝娱乐app下载地址项目环境真正的开发目的是一样简单的沙盒的安装。我们将会看到整个安装过程在一个简化的过程,因为它相当于沙箱的安装和部署。
不同的是,在这个“项目”一节中,我们将关注web应用程序的配置,使其工作在互联网上从任何地方。
像沙箱,symfony项目预配置来使用SQL欧宝娱乐app下载地址ite数据库引擎。这是在本章早些时候安装和配置。
下载,创建一个目录并复制文件
每个版本的symfony可以下载欧宝娱乐app下载地址作为. zip文件,然后使用从头开始创建一个项目。
下载档案包含的库欧宝娱乐app下载地址symfony的网站。接下来,提取包含目录到一个临时位置,如“下载”目录。
现在我们需要创建一个目录树项目的最终目的地。这是一个更复杂的比沙箱。
目录树的设置
让我们创建一个目录树项目。从体积根开始,D:
例如。
创建一个\开发
目录D:
,并创建另一个目录sfproject
:
D: MD dev CD dev MD sfproject CD sfproject
我们现在在:D: \开发\ sfproject
从那里,创建子目录树,通过创建自由
,供应商
和欧宝娱乐app下载地址
目录级联的方式:
MD自由自由MD供应商CD供应商MD symfony CD symfony欧宝娱乐app下载地址
我们现在是在:D: \开发\ sfproject \ lib \供应商欧宝娱乐app下载地址\ symfony
选择所有文件(ctrl - a
在Windows Explorer)从你的下载位置(源),从下载和复制D: \开发\ sfproject \ lib \供应商欧宝娱乐app下载地址\ symfony
。您应该看到3819项复制到目标目录:
创建和初始化
打开命令提示符。改变D: \开发\ sfproject
目录并执行以下命令:
PHP lib \供应商\ s欧宝娱乐app下载地址ymfony \ data \ bin \ symfony - v
这应该返回:
欧宝娱乐app下载地址symfony 1.3.0版本版本(D: \开发\ sfproject \ lib \ \ symfony \ lib)供应商
初始化项目,运行下面的PHP命令行:
PHP lib \供应商\ s欧宝娱乐app下载地址ymfony \ data \ bin \ symfony生成:项目sfproject
这将返回一个列表的文件操作,包括一些chmod 777
命令:
仍然在命令提示符下,创建一个symfony应用程序通过运行下面的命令:欧宝娱乐app下载地址
PHP lib \供应商\ s欧宝娱乐app下载地址ymfony \ data \ bin \ symfony生成:应用sfapp
这应该返回一个列表的文件操作,包括一些chmod 777
命令。
从这一点上,而不是打字PHP lib \供应商\ s欧宝娱乐app下载地址ymfony \ \ bin \ symfony的数据
每次需要,复制欧宝娱乐app下载地址symfony.bat
文件从它的起源:
复制lib \供应商\ symf欧宝娱乐app下载地址ony \ \ bin \ symfony.bat数据
我们现在有一个方便的命令在命令行提示符D: \开发\ sfproject
。
还在D: \开发\ sfproject
,我们可以运行到了穷途末路,命令:
欧宝娱乐app下载地址symfony - v
让经典的回答:
欧宝娱乐app下载地址symfony 1.3.0版本版本(D: \开发\ sfproject \ lib \ \ symfony \ lib)供应商
Web应用程序创建
在第二行,我们假设你读过“沙箱:Web应用程序创建初步的步骤重新配置“默认网站”,所以它不影响在端口80上。
为项目添加一个新的网站
打开IIS管理器管理工具。在左边窗格中,选择“站点”图标,右键单击。从弹出菜单中选择“添加网站”。例如,输入“Symfony项目”网站的名称,欧宝娱乐app下载地址D: \开发\ sfproject
“物理路径”,让其他领域不变;您应该看到这个对话框:
单击OK。如果一个小x
出现在网站图标(在功能视图/网站),别再犹豫了,点击“重启”在右边窗格使它消失。
检查网站是否回答
从IIS管理器,选择“Symfony项目”网站,在右边窗格中欧宝娱乐app下载地址,单击“浏览*。80 (http)”。
你应该得到相同的明确的错误信息在沙盒:
HTTP错误403.14 -禁止的
Web服务器被配置为不列出此目录的内容。
类型http://localhost/web
在浏览器的地址栏你现在应该看到“Symfony项目创建”页面,但只有一个微小的区别从同一页面造成沙箱初始化:没欧宝娱乐app下载地址有图片:
这里的图片不是目前,尽管它们位于一个科幻小说
目录在symfony的图书馆。欧宝娱乐app下载地址他们很容易联系/网络
通过添加虚拟目录的目录/网络
,名叫科幻小说
,它指向D: \开发\ sfproject \ lib \供应商欧宝娱乐app下载地址\ symfony \ \ web \科幻的数据
。
现在我们有常规“Symfony项目创建”页面图片如欧宝娱乐app下载地址预期:
最后,整个symfony应用程序工作。欧宝娱乐app下载地址从web浏览器,输入web应用程序的URL,即。http://localhost/web/sfapp_dev.php
:
让我们执行最后一个测试在本地模式:检查“配置”、“日志”和“计时器”web调试面板,确保项目是全功能。
联网应用程序的应用程序配置
我们通用的symfony欧宝娱乐app下载地址项目现在在本地工作,像沙箱,从本地主机服务器,位于http://localhost
或http://127.0.0.1
。
现在,我们希望能够从互联网上访问该应用程序。
项目的默认配置保护应用程序执行从远程位置,然而,在现实中应该是可以访问的index . php
和sfapp_dev.php
文件。让我们从web浏览器执行项目,使用服务器的外部IP地址(如。94.125.163.150
的FQDN)和虚拟专用服务器(如。12543 hpv163150.ikoula.com
)。您甚至可以使用两个地址在服务器,因为他们没有映射到127.0.0.1
:
正如我们之前说的,访问权index . php
和sfapp_dev.php
从远程位置就可以了。的执行sfapp_dev.php
然而,失败,因为它默认是不允许的。这可以防止潜在的恶意用户访问您的开发环境,其中包含潜在项目的敏感信息。您可以编辑sfapp_dev.php
文件使它工作,但这是强烈劝阻。
最后,我们可以模拟一个真正的域通过编辑“主机”文件。
这个文件执行本地FQDN名分辨率,而不需要安装在Windows DNS服务。DNS服务是可用在所有版本的Windows Server 2008 R2,和Windows Server 2008的标准,企业和数据中心版。
在Windows x64操作系统上,默认“主机”文件位于:C:\Windows\SysWOW64\Drivers\etc
“主机”文件预填充机的决心本地主机
来127.0.0.1
在IPv4,::1
在IPv6。
让我们添加一个假的真正的域名,sfwebapp.local
在本地,把它解决。
symfo欧宝娱乐app下载地址ny项目现在运行在网络上,没有DNS,从Web浏览器会话从Web服务器中执行。
这项工作在Creative Commons许可Attribution-Share都3.0 Unported许可执照。