| OS | windowsXP sp3 |
| Apache | apache_2.2.4-win32-x86-no_ssl.msi |
| PHP | php-5.2.0-Win32_extract.zip |
| MySQL | mysql-noinstall-5.0.45-win32.zip |
| ZendOptimizer | ZendOptimizer-3.2.2-Windows-i386.exe |
| phpMyAdmin | phpMyAdmin-2.11.0-all-languages-utf-8-only.7z |
| ZendFramework | ZendFramework-1.0.1.zip |
二、注意
如果可以的话,安装前关闭电脑的防火牆或杀毒软件,由于防火牆的拦截可能会造成个别程序不可预知的错误。当然并不是一定要关。本例的相关目录设置如下,读者可在安装时根据个人情况自行修改相关路径设置。
| php相关软件路径 | D:\PHPPGEXT |
| apache路径 | D:\PHPPGEXT\APACHE |
| php程序路径 | D:\PHPPGEXT\PHP5 |
| MYSQL路径 | D:\PHPPGEXT\MYSQL |
| PHP的session缓存路径 | D:\PHPPGEXT\TMP |
| PHP服务器的根目录 | E:\wwwroot\phproot\ |
三、安装
1.安装apache
建文件夹路径D:\PHPPGEXT\APACHE
双击apache_2.2.4-win32-x86-no_ssl.msi开始安装apache,一路NEXT。
出现安装方式界面选择「custom」方式,
出现设置安装路径的界面时选择D:\PHPPGEXT\APACHE,继续NEXT,
在选择端口界面选择第二项「only for the current user, on Port 8080, when started manually.」,即将apache的默认服务端口设置为8080。第一个选项的大概意思是设置apache使用80端口,但通常windows的IIS默认使用80端口,如果选择了第一个选项,会造成端口冲突,apache可能会安装失败,将来apache运行时会产生错误。
继续NEXT,弹出几个 CMD 窗口安装 Windows 服务以后…… 安装就完成了……
右下角将出现 Apache 粉红色的羽毛 Icon,不出意外图标上应该显示绿灯(表示 HTTP 伺服已经正常启动),否则说明安装有问题。至于安装可能的问题,我们将在后面的常见问题中专门介绍,这裡暂且不论。打开浏览器,在地址栏输入:http://localhost:8080,如果屏幕出现 「It Works」 就表示安装成功。我们暂且不去修改apache的配置,在后面的配置部分我们会专门的介绍。
2.安装PHP
将php-5.2.0-Win32_extract.zip解压到D:\PHPPGEXT\PHP5\
3.安装MySQL
将mysql-noinstall-5.0.45-win32.zip解压到D:\PHPPGEXT\MYSQL\
4.建立index.php
在E:\wwwroot\phproot\目录下建立index.php,该文件代码如下
<?php
echo phpinfo();
?>
四、配置及设置
注意,如果说上述安装次序可以不按次序进行的话,配置次序好最按如下顺序进行。
1.配置PHP
打开D:\PHPPGEXT\PHP5,找到php.ini-recommended,重命名为php.ini,用记事本打开php.ini文件。
搜索:extension_dir = "./",修改为extension_dir = "D:/PHPPGEXT/PHP5/ext"。
搜索;session.save_path ="/tmp",修改为session.save_path = "D:/PHPPGEXT/TMP"。
去掉;extension=PHP_MySQL.dll前面的分号后另起一行插入 extension=PHP_mysqli.dll。
去掉下面代码前面的分号
;extension=PHP_gd2.dll
;extension=PHP_mbstring.dll
;extension=PHP_curl.dll
;extension=PHP_sockets.dll
;extension=PHP_xmlrpc.dll。
保存并关闭php.ini文件。
按照通常的做法应该Copy一些文件到C盘的系统目录下,但笔者不习惯这种做法,理由还是免去重装系统的麻烦。笔者的做法是通过下面步骤实现的。
我的电脑→属性→高级→环境变量,在Path变量值一栏末尾加入;D:\PHPPGEXT\PHP5,(注意前面带分号,且不要删掉原有的任何字符),点确定,继续确定,直到关闭系统属性标签页。
2.配置MySQL
打开D:\PHPPGEXT\MYSQL,看到一大堆.ini文件,找到my-medium.ini,重命名为my.ini(实际上改哪个都可以,只不过是默认配置不一样),用记事本打开my.ini文件,在最后加入以下代码:
[WinMySQLAdmin]
# 指定mysql服务启动启动的文件
Server=D:/PHPPGEXT/MYSQL/bin/mysqld-nt.exe
找到[mysqld],加入以下代码。
#MySQL 安装目录
basedir=D:/PHPPGEXT/MYSQL
#MySQL 默认数据目录
datadir=D:/PHPPGEXT/MYSQL/data
# 默认字符集
default-character-set=utf8
# 默认储存引擎…… 还是回到 MyISAM 时代吧…… InnoDB 被甲骨文买了…… 虽然开源…… 但……
default-storage-engine=MyISAM
找到[client],加入以下代码。
# 设置mysql客户端的字符集
default-character-set=utf8
保存并关闭my.ini文件。
安装MySQL服务,点任务栏的开始菜单,运行,输入cmd回车,在弹出的窗口中输入d:,回车。看到提示符:D:\>。输入 cd phppgext\mysql\bin,输入mysqld-nt –-install,回车。看到successful之类的提示,表示您的mysql安装成功。关闭cmd窗口。
我的电脑→属性→高级→环境变量,在Path变量值一栏内末尾加入;D:\PHPPGEXT\MYSQL,(注意前面带分号,且不要删掉原有的任何字符),点确定,继续确定,直到关闭系统属性标签页。
3.配置Apache
点任务栏的开始菜单,程序,apache http server 2.2.4,configure pache server,Edit the Apache httpd.conf configuration file。打开并编辑该文件。
搜索DocumentRoot 正行改为 DocumentRoot "E:/wwwroot/phproot"。
应该可以搜索到 <Directory "D:/PHPPGEXT/APACHE/htdocs"> 改为 <Directory "E:/wwwroot/phproot">,
将<Directory "E:/wwwroot/phproot"> </Directory> 之间的 AllowOverride None 改为 AllowOverride All。
搜索 DirectoryIndex ,在其后面加入 index.php index.htm
搜索 #LoadModule ssl_module modules/mod_ssl.so ,在其下一行,插入 LoadModule php5_module D:/PHPPGEXT/PHP5/php5apache2_2.dll ,
(注意php5.2以上版本是php5apache2_2.dll,以下版本是php5apache2.dll,忽略这个问题容易导致apache启动失败)
搜索AddType application/x-gzip .gz .tgz 在其下一行插入 这样几行代码(两种方式任选其一),
如果PHP 以模块方式安装到 Apache(我们使用该方式,因为前面已经设置过LoadModule php5_module D:/PHPPGEXT/PHP5/php5apache2_2.dll )
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
如果PHP 以 CGI 方式安装到 Apache
ScriptAlias /php/ "D:/PHPPGEXT/PHP5"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
保存并关闭该文件,重新启动apache,如无异常,此时apache已经正确配置并生效。
五、重新启动计算机
因为刚才php和mysql的配置需要重启才能生效。重启后如果apache正常,在地址栏输入http://localhost:8080,如果看到一个关于PHP相关信息的网页,说明PHP配置成功。
如何判断MySQL是否正确配置并生效?
开始→设置→控制面板→管理工具→计算机管理→服务和应用程序→服务,在右侧窗口名称一列如果看到MYSQL,并且状态显示已启动,说明MYSQL配置成功。
此时,说明你的PHP + MySQL + apache 环境配置基本成功。
六、安装常用软件
通常一个好的PHP环境需要安装一些常用的工具软件或搭档软件。当然不装也可。
1.安装ZendOptimizer
双击ZendOptimizer-3.2.2-Windows-i386.exe,按提示进行,基本不会出问题。
2.安装phpMyAdmin
phpMyAdmin是基于界面的形式管理MySQL数据库的一个工具。
用apache基于端口开设虚拟主机(也可基于域名或基于IP),本例开设phpMyAdmin端口为900,路径为E:\wwwroot\phproot\phpMyAdmin\ 。至于怎 开设虚拟主机,将在常见问题中作出说明。
将phpMyAdmin-2.11.0-all-languages-utf-8-only.7z解压至E:\wwwroot\phproot\phpMyAdmin\ ,打开libraries文件夹下 config.default.php 。
设置$cfg['Servers'][$i]['auth_type'] = 'http';
设置$cfg['Servers'][$i]['user'] = 'root';
在浏览器地址栏输入http://localhost:900/,看到提示输入用户名和密码的对话框,输入用户名root,密码保留为空,回车即可登录成功。(因为我们的MySQL数据库还没有设置密码,默认的用户名是root,密码空)
3.安装zend framework
将ZendFramework-1.0.1.zip解压至E:\wwwroot\phproot\ZendFramwork\ 。
启用Apache的mod_rewrite模块。打开apache的httpd.conf文件,去掉#LoadModule rewrite_module modules/mod_rewrite.so前面的「#」号。找到<Directory "E:/wwwroot/phproot">和</Directory>之间的AllowOverride 行,改成AllowOverride All。找到Options Indexes FollowSymLinks行,改成Options FollowSymLinks。
在E:\wwwroot\phproot\ZendFramwork\ 下建立 .htaccess 和index.php文件,分别写入如下内容。
index.php写入代码<?php echo phpinfo(); ?>
.htaccess写入代码
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|swf)$ index.php
php_value include_path "./library"
注意: 这裡的.htaccess在windows无法直接建立,我个人是使用FTP工具软件建立。例如先建立33.htaccess然后把FlashFXP打开,找到本地的33.htaccess,重命名位.htaccess。
注意:ZendFramwork目录下有如下的结构。
E:\wwwroot\phproot\ZendFramework\index.php
E:\wwwroot\phproot\ZendFramework\.htaccess
E:\wwwroot\phproot\ZendFramework\library\Zend\,(这个路径是解压后直接得到的。注意不要把zend下的文件直接拷贝到library目录下,如果那样做的话,笔者不确定是否能成功,因为笔者没有试过。)
用apache基于端口开设虚拟主机(也可基于域名或基于IP),本例开设phpMyAdmin端口为904,路径为E:/wwwroot/phproot/ZendFramework/。至于怎 开设虚拟主机,将在常见问题中作出说明。
重新启动Apache,测试下.htaccess是否可以用 打开本地的http://localhost:904/ 随便打入http://localhost:904/33 看会不会转到http://localhost:904/,此时你应该可以看到一个关于PHP信息的网页, 如果不会说明你的.htaccess没有生效.
七、常见问题
(一)关于Apache的问题
1.安装完成后,提示「no service installed」 。
首先,请确认,您安装apache所使用的端口并没有被其他程序佔用(如果被佔用,自然安装不会成功)。
确认端口没有问题的话,尝试以下步骤:
开始菜单,运行,cmd,回车,在弹出的窗口中输入d:,回车,cd D:\PHPPGEXT\APACHE\bin,回车,输入apache.exe -k install -n apache2 。这样就安装了这个服务。继续键入net start apache2 回车,这样apache服务就启动了,以后的启动关闭服务,直接点击Apache小羽毛标志,按菜单操作即可。
2.为什么要基于端口开设apache虚拟主机
开设虚拟主机通常可以基于域名、IP地址、端口三种。因为笔者是在本机配置环境,不用于真正的服务器,所以笔者没有真正的域名或IP地址资源,无法在本地机器上实现基于IP地址或基于域名开设虚拟主机并访问。
3.怎样开设虚拟主机
以本例的Apache2.2.4为例,找到#Include conf/extra/httpd-vhosts.conf,去掉前面的「#」号。然后找到D:\PHPPGEXT\APACHE\conf\extra\httpd-vhosts.conf,打开这个文件加入如下代码(已开设ZendFramework使用904端口为例,根据具体情况修改):
Listen 904
<VirtualHost *:904>
ServerAdmin webmaster@zf.yourdomain
DocumentRoot E:/wwwroot/phproot/ZendFramework
ServerName zf.yourdomain
ErrorLog logs/zf.yourdomain-error_log
CustomLog logs/zf.yourdomain-access_log common
</VirtualHost>
重新启动Apache,配置就生效了。
(二)关于ZendFramwork问题
注意: .htaccess裡面的php_value include_path 在linux下有的无法使用的。可以通过set_include_path()函数来设置(放在require_once()之前)。
如:index.php裡面要这样:
set_include_path('./library');
include 'Zend';
或者你也可以直接在php.ini裡面设置.
没有评论:
发表评论