window XP安装 apache 2.2.19 + 要下载二进制的php5.3.6 + Mysql 5.5配置(彻底解决 Fatal error: Class 'mysqli' not found in )

window XP安装 apache 2.2.19 + 要下载二进制的php5.3.6 + Mysql 5.5

到官方下载上述版本的LAMP:
版本选择httpd-2.2.17-win32-x86-no_ssl.msi (openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,无特殊ssl连接需要下载no_ssl的版本即可)。
安装:一路next 下去 填写 network domain、server domain 一般填“localhost”即可,管理员邮箱随便填一个邮箱就可以(以后服务器出现问题,会提示联系管理员邮箱,方便处理问题。)
安装成功:一般安装结束时会请求是否开启apache服务,可以确定开启,自动打开Apache Service Monitor 同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标,显示为”>” 启动状态,此时可以本地打开浏览器输入http://localhost 或者 http://127.0.0.1/ 或者在其他机器上输入 该服务器ip到浏览器访问 http://xx.xx.xx.xx/ 可以看到简单的测试页面 “It works” 说明apache已经成功运行。

PHP安装php5.3.4 ,5.3.6(最新),5.2.17(老稳定版本,不再后续支持) 下载地址:http://windows.php.net/download/
版本选择 Thread Safe (window下一般开发环境用此版本即可,如果是以FastCGI来执行PHP时考虑到效率,需要采用None Thread Safe版本).
下载zip版本 此处我 解压缩到 “C:/php-5.3.6-Win32-VC9-x86″,注意如果是在win2003下运行php5.3 以上用vc9 编译的版本的话,有可能会遇到无法运行的情况,即双击php.exe 会弹出“由于应用程序配置不正确,应用程序未能启动” 的问题,这是由于该版本的php采用vc9编译,而该win2003系统缺少运行库导致的,可以安装 Microsoft 2008 C++ Runtime (x86) 来保证运行。
问题:常见问题在配置apache里的httpd.conf 时 LoadModule php5_module 缺少 “php5apache2_2.dll” 的情况是因为下错了php版本,在Thread Safe版本下是具有php5apache2_2.dll的,而None Thread Safe版本 没有这个文件一般只用于fastcgi 所以不需要这个文件。
MySQL安装一般安装mysql–5.1.45-win32.msi即可,安装过程中填写root密码,选择数据库编码utf8 启用innodb 选项一步一步next即可。安装成功后mysql就会以windows服务的方式启动了。
综合配置1.配置Apache:
apache安装目录下的conf/httpd.conf 文件是比较重要的配置文件,如果害怕修改配置文件出错,则要养成修改配置文件前备份的习惯,以防出错。
1.1 配置www网站根目录
DocumentRoot "E:/www"
<Directory "E:/www">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All(在打开mod_rewrite的情况下允许htaccess文件定义时需要设置为All 默认为None)
Order allow,deny
Allow from all
</Directory>
1.2 配置mod_rewrite:
LoadModule rewrite_module modules/mod_rewrite.so
(现在非常流行使用rewrite功能达到美化,隐藏安全url访问的目的,打开此模块的同时也要注意目录下的AllowOverride All,才能允许htaccess有效)
1.3A 一种方式配置mod_php:(大多数情况下采用以mod_php方式运行)
(PHPIniDir为指定 php.ini的位置,可以直接放在php版本目录里面)
(以mod_php的方式运行php时需要加载 php5_module)

PHPIniDir "C:/php-5.3.6-Win32-VC9-x86"
LoadModule php5_module C:/php-5.3.6-Win32-VC9-x86/php5apache2_2.dll

(设置目录下网站首页的访问顺序如果要运行php,可以讲index.php至于前面优先访问index.php为主页)

<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>

(设置php5解释器,解释文件的扩展名,即访问.php或者.php3或者.phps时,
都会视为application/x-httpd-php请求,用php5解释器来解释运行)

<IfModule mod_php5.c>()
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps
</IfModule>
1.3B 另一种方式配置fastcgi:(与mod_php配置有些不同,在windows下不太安全但如果要考验效率的话可以试一试)
下载mod_fcgid-2.3.6-win32-x86,下载地址:http://httpd.apache.org/mod_fcgid/ ,下载完后 直接将 module 目录合并到 apache 安装目录下的module即可。
LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script .fcgi .php
#php.ini的存放目录
FcgidInitialEnv PHPRC "C:/php-5.3.6-Win32-VC9-x86/"
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,
#防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的进程数
FcgidMaxProcesses 3
#最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路径
FcgidWrapper "C:/php-5.3.6-Win32-VC9-x86/php-cgi.exe" .php
AddType application/x-httpd-php .php
#这两种方式运行php时,检查phpinfo()可以清楚的看到两者的不同。
2. 配置PHP.ini:
date.timezone ="Asia/Shanghai"
#(设置一下时区,一般国内可以设置为Asia/Shanghai ,不设置有些用到时间的php应用回报警告,
#ps:它又不会GPS定位你所在时区,O(∩_∩)O哈哈~)

extension_dir = "C:/php-5.3.6-Win32-VC9-x86/ext"
#(extension_dir 指定php扩展的目录位置,必须指定绝对物理路径,
#否则加载某些扩展会找不到dll文件)
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
上面打开一般的图形扩展和mysql数据库扩展,也可根据需要打开 extension=php_curl.dll 扩展之类。
修改完配置要重启apache服务,在Apache Service Monitor里 restart即可,然后可以测试phpinfo() 是否okay。
希望对用的童鞋有用!:)

 

如果在使用mysqli类产生了如下错误:Fatal error: Class 'mysqli' not found in 。

请尝试使用以下方式:

1.把配置好了的c:\php目录下的php.ini文件,剪切到C:\WINDOWS\SYSTEM32目录下,就可以使用在php.ini中配置的任何扩展了。

2.重新启动你的Apache服务器就OK了。(本人尝试了经验的总结)

 

 


[size=0.9em]浮山狼blog原创文章,转载请注明来源并保留原文链接
本文链接:win2003 apache2 2 17 php5 3 configuration

posted on 2011-07-05 10:45  张清涛  阅读(2558)  评论(0编辑  收藏  举报

导航