win7下手动配置apache+ php + mysql 记

你离开我真会死。 提交于 2019-11-29 12:39:16

本来想学学php,于是就想搭建web服务器和sql环境,结果浪费掉了不少时间。大致的总结下,也算是长个记性。

使用的安装包分别是httpd-2.2.22-win32-x86-no_ssl .msiphp-5.2.5-Win32.zipmysql-installer-community-5.5.28.3.msi,很显然用的还算是比较新的安装包。安装apache还是比较顺利的,一路安装下来,默认监听本机所有ip的80端口,当然包括回环地址, 接着解压php到指定文件夹,接着安装mysql,打开安装目录下的httpd.conf文件,做如下调整:

ServerRoot "D:/Apache2.2"  服务器安装根目录

DocumentRoot "D:/phpWeb"  修改为自己的网站根目录

# This should be changed to whatever you set DocumentRoot to.
<Directory "D:/phpWeb">      与上一步进行同步修改

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
<IfModule dir_module>         设置默认的被请求文件
    DirectoryIndex index.php index.html
</IfModule>

LoadModule php5_module "D:/php/php5apache2_2.dll"   以模块的方式加载php,注意此处的php5apache2_2.dll对应的apache 版本
LoadFile "D:/php/php5ts.dll"   手动加载php动态链接库 或者 把这两个文件放到system32文件目录下
LoadFile "D:/php/libmysql.dll" 加载mysql动态链接库
PHPIniDir "D:/php"                 非必要的配置
AddType application/x-httpd-php .php .html .htm   服务器端支持动态文件类型

保存修改后,测试apache,重启apache服务器,在浏览器中输入localhost or 回环地址,页面显示 “It works !”到此说明,apache工作了。

测试php,在phpWeb目录里编辑一个index.php 的文件,内容为<?php   phpinfo(); ?>,重复测试apache服务器的操作,页面显示php的配置信息,查看是否包括sql模块,很想然没有,因为php默认是不加载mysql模块的。然后修改php.ini 文件,主要改动点如下:

extension_dir = "D:/php/ext"  扩展dll库的位置
………………
extension=php_mysql.dll     打开mysql的扩展

对于php.ini的修改相当郁闷,网上找了很多也做了各种修改,似懂非懂的就去尝试,后来都不管用。 想想mysql是否安装成功呢,开始用命令行查看,先看端口3306端口是否处于监听状态,使用netstat -a命令,再使用mysql workbench 测试与数据库的连接是否成功,结果成功说明mysql安装没有问题,mysql 的配置文件是my.ini ,暂时不用动,默认的配置可以工作。 于是问题出在php与mysql的衔接处,问题肯定出在php.ini文件。  

开查php.ini,还是先看看phpinfo()给出的信息吧,看来看去怎么没有mysql模块,开始怀疑我之前是否打开了配置信息里的mysql 扩展。God,打开的竟然是extension=php_mssql.dll。此处省略无数字。 

Wahtever, 问题总算找到,测试一下,瞬间OK,欲哭无泪。但是回顾整个过程,时间主要浪费在了细小的错误上。 总结教训: 面对问题不能不问百度google闭门造车但也不能盲信盲从 ; 面对问题更多的是持续关注问题,自己分析问题。

下一步详细分析httpd.conf  php.ini my.ini ,灵活配置,并对web服务器和数据库服务器进行性能调优,然后移植网站到新崛起的Nginx web服务器等。貌似有点偏题了,当然主要目的还是学习可爱的PHP.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!