走进Zend Framework框架编程2(软件安装和环境配置)

WBOY
Release: 2016-05-19 14:05:08
Original
1062 people have browsed it

软件安装和环境配置

1,Windows Server2003
Windows Server2003安装完毕,最好能上网通过Windows Update安装系统所有的补丁,包括其最新的SP补丁包,虽然这对于学习不见得有致命的影响,但还是建议这样做。由于Windows 2003默认是不安装IIS的,所以在安装完毕后还必须通过“添加和删除程序”来安装IIS6.0组件。
注意,还必须注意把IIS6.0的“主目录”-“配置”-“选项”的“启用父路径”开通。还要把“Web服务扩展”中的“所有未知ISAPI扩展”设置为“允许”-因为我们的测试环境将让php与IIS以“ISAPI方式”集成。“在服务器端的包含文件” 服务扩展,好像不影响PHP的require等脚本命令。
再次注意,由于我们的ZF学习和代码调试主要是在Apache环境下进行,所以以上IIS的配置与我们的ZF学习关系不大,只是当我们作为附加知识,需要在IIS下演示ZF的时候才需要这些配置。

2,MySQL for Windows的安装
数据库选择和Windows2003安装在同一台机器上。mysql-5.0.41-win32是一个Setup.exe文件,双击它,一路做一些选择,再按“下一步”,安装完毕。最后选择立即进入配置过程。对于我们的学习,mySQL如何配置影响不大。数据库建议选成“myISAM”格式。注意记住用户root的密码。
注意在配置nySQL之前,务必关闭服务器上的防火墙和一些杀毒软件,比如360安全卫士,否则可能引起创建数据库失败。如果有问题,可以卸载mySQL后再试。

3,Apache for Windows
我选择apache_2.2.8-win32-x86-openssl-0.9.8g.msi的Apache for Windows版本。安装路径为:C:PRogram FilesApache Software FoundationApache2.2。

3.1 由于IIS服务本身占用了80端口,所以我选择Apache使用8080端口。这样一台机器就能跑2种Web服务,便于我们的测试。在真实的生产环境下,都是禁用或不安装IIS而让Apache在80端口下服务的。修改Apache的端口的方法是,用文本编辑器打开C:Program FilesApache Software FoundationApache2.2confhttpd.conf文件,把Listen 80修改为Listen 8080。
注意httpd.conf是Apache的配置文件,以后会经常修改。该文件修改完毕后必须重新启动Apache服务,配置才能生效。这一点必须特别注意。(谁要愿意,重新启动机器也行,Apache服务也会重新初始化一次—但相信PHP程序员没这么傻的)

3.2修改网站默认首页文件
在httpd.conf以下代码的DirectoryIndex后加index.php,多个首页文件用逗号隔开:


DirectoryIndex index.html, index.php

3.3 Apache2.2文件夹下有许多文件夹,其中有2个重要的文件夹:
Conf里包含着配置文件httpd.conf;
Htdocs是默认的存放网页文件的地方。默认的存放网页文件的文件夹可以通过httpd.conf的DocumentRoot语句来修改,但我们的测试使用默认的。

3.4 Apache虚拟主机配置
为了测试众多的应用,我们需要建立虚拟主机,使应用程序分别在独立的网站内运行。
屏蔽掉默认的网站,即在以下配置语句前加个注释符号#(也可以删除该语句):
#DocumentRoot “C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”
然后在该语句下键入以下一段语句:NameVirtualHost *:8080

ServerAdmin webmaster@mydomain.com

DocumentRoot “C:Program FilesApache Software FoundationApache2.2htdocs”

ServerName localhost

ErrorLog “logs/localhost-error.log”

CustomLog “logs/localhost-access.log” common


复制代码就可以在本服务器上以http://localhost:8080/来访问本地的网站,例如,一个index.php文件内容如下,就可以显示服务器的基本配置信息:
  phpinfo();
?>
配置虚拟主机(以域名phpchina1.com区分):

ServerAdmin any@any.com

DocumentRoot “C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/phpchina1.com”

ServerName phpchina1.com

ErrorLog “logs/phpchina1.com-error.log”

CustomLog “logs/phpchina1.com-access.log” common


复制代码保存后重启服务,在局域网某台机器,或服务器上,在 hosts文件中加入语句
  phpchina1.com
就可以以http://phpchina1.com:8080/*.*的形式访问网站。
但注意:
在Apache与PHP正确集成以前,是不能访问PHP文档的。
在进一步正确配置ZF之前,也不能做ZF的测试。实际上,在运行ZF代码之前还有几个重要配置步骤需要做。

4,PHP安装和配置
我们选用PHP 5.2.5版本。得到php-5.2.5-Win32.zip文件后,解压到以下文件夹下即可:
C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.bin
你的路径可以与这里不同,我建立这么深层的路径是因为我的机器安装的PHP版本很多,才这么组织的。
PHP需要的配置:
PHP的配置通过编辑php.ini来完成。第一次,我们复制
C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.bin
下的php.ini-recommended文件生成一个php.ini文件,然后指定extension_dir路径:
  extension_dir = “C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.binext”
再打开以下语句的注释,用于让ZF支持mySQL数据库:
  extension=php_pdo.dll打开 pdo
  extension=php_pdo_mysql.dll  打开 pdo_mysql
为了PHP支持更多扩展,可以把它们的注释去掉,例如为了支持图形功能,可以打开
extension=php_gd2.dll
顺便注意一下,为了安全,register_globals = Off,默认已经是关闭的了。我们自己开发的PHP扩展也可以拷贝到ext 文件夹下,用extension=myphp_ext.dll的形式调用。

5,Zend Framework:
取得ZendFramework-1.5.1.zip压缩包,解压取出里面的library文件夹的内容,把library文件夹拷贝到以下文件夹下:
C:Program FilesApache Software FoundationApache2.2htdocs
最终的文件夹路径形式是:
C:Program FilesApache Software FoundationApache2.2htdocslibraryZend*.*

6,PHP与Apache、mySQL的集成
在 http.conf 文件最后加语句:#集成mySQL

LoadFile “C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.binlibmysql.dll”

#集成 PHP5

LoadModule php5_module “C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.binphp5apache2_2.dll”

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

#(指定php.ini文件的位置)

PHPIniDir “C:usrlocalphp-5.2.5.for_Apache2.2php-5.2.5.bin”
复制代码如果是 PHP6,则形如:
LoadModule php6_module “……php6apache2_2.dll”
注意以上装载模块语句LoadModule必须加载与当前PHP和Apache版本对应的dll文件。配置错了是不能工作的。
再次注意:保存http.conf文件后必须重新启动Apache服务,配置才能生效。

到此为止,应该可以在我们的虚拟主机上运行普通的非Zend Framework的PHP代码了。遗憾的是仍然不能开始我们的Zend Framework之旅。因为ZF的特别设计,我们还需要对Apache做点额外配置。这也是我前边不推荐在IIS上跑ZF应用的原因所在,因为Apache经过几处设置就可以跑ZF应用,而IIS需要借助第三方的软件才可以。再者,在大家心里,IIS和PHP、ZF并不是黄金搭档,在程序员的心里,技术也必须门当户对才行。

预计到下一部分的的最后,我们才能真正见到ZF的第一个示例。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template