winXP WIN7搭建PHP+Apache+mysql
PHP版本 windows版:http://windows.php.net/download/ 源码:http://php.net/downloads.php 新网址:https://windows.php.net/downloads/releases/archives/ 下载Thread Safe的zip版本 VC6的版本使用 visual studio6 编译 VC9使用 Visual Studio 2008 编译,并且改进了性能和稳定性。VC9 版本的 PHP 需要安装 Microsoft 2008 C++ Runtime(win7自带) VC11需要安装微软 Microsoft Visual C++ 2012 Redistributable 补丁 TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。Apache 一般用这个版本 NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。IIS 一般用这个版本 Apache版本:http://httpd.apache.org/download 或者 http://www.anindya.com/ 选择Win32的OpenSSL版本的如这里没有最新版本的win32版则可以上华军天空等下载 Mysql版本:http://dev.mysql.com/downloads/mysql/ Windows (x86, 32-bit), MSI Installer Windows (x86, 64-bit), MSI Installer 两个版本都可 此文档用的是 php-5.5.1-Win32-VC11-x64.zip(XP用的是 php-5.2.17-Win32-VC6-x86.zip) apache_2.4.4-x64-openssl-1.0.1e.msi(XP用的是 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi) mysql-5.5.28-win32.msi或者mysql-5.5.47-winx64.msi vcredist_x64.exe 补丁 在D盘自定义新建文件夹ApacheServer 再在ApacheServer文件夹下分别建立php,Apache,mysql,web四个文件夹分别用来存放 php,apache,mysql,项目文件 PHP: 将下载的PHP压缩包根目录所有文件解压在D:\ApacheServer的php文件夹内 1,然后找到php目录下的php.ini-development文件,直接把文件名php.ini后面的删掉,这样就变成了php.ini(php-5.2.17-Win32-VC6-x86.zip 是把 php.ini-dist 改成 php.ini) 这里有两个相似的文件,一个是 php.ini-development,一个是php.ini-production,一个是适合开发用的,一个适合项目发布用的,所以,这里修改php.ini-development这个文件 2,打开php.ini 找到 ; extension_dir = "ext" (php-5.2.17-Win32-VC6-x86.zip是extension_dir = "./") 将前面的 ; 去掉并修改成 extension_dir = "/ApacheServer/php/ext" 上面是相对地址(当前盘符根目录下路径),如需绝对地址则改成 extension_dir = "D:/ApacheServer/php/ext" 3,然后还有一个就是让PHP支持MYSQL,找到 ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_pdo_mysql.dll 把前面的 ; 号去掉就行了,也可按实际连接MySQL的方式来单独只打开某个连接dll 4,(XP如果要可以使用mysql_connect()等方法还要把php目录下的libmysql.dll复制到C:\WINDOWS\system32下) 以下可选设置: 要PHP支持png,jpg,gif等(phpcmsV9必须)打开 extension=php_gd2.dll 大字符集,支持多字符集之间的转换 extension=php_mbstring.dll curl可用 extension=php_curl.dll php5默认<?php echo date("Y-m-d H:i:s");?>时间与北京时间相差八小时(少八小时) 为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时 查找 ;date.timezone = 将 ; 去掉,并修改成 date.timezone = PRC 编辑 error_reporting = E_ALL 改成 error_reporting = E_ALL & ~E_NOTICE 就可以了,意思是除了E_NOTICE类型的错误(Notice)不报告,其他的都报告! 使 include 等可以包含域外网页如 include_once "http://www.126.com"; 找到 allow_url_include = Off 改成 allow_url_include = On Apache: 安装apache,一路next Network Domain和ServerName都填localhost。Administrator`s Email Address填自己的邮箱 端口选项选第一个为所有用户设为80端口,第二个仅为当前用户手动启动时设为8080端口。默认设为80端口就可以 next 选typical典型安装 (custom为自定义) next 安装目录设的是D:\ApacheServer\Apache\ 安装 输入http://localhost/页面显示It works!表示安装成功 接下来修改httpd.conf配置文件 httpd.conf在Apache安装目录下的conf文件夹下 1,在一大块LoadModule加载模块配置的最后一行下面添加 #加载PHP处理模块,让Apache以模块模式运行(不同于CGI,FASTCGI) LoadModule php5_module "/ApacheServer/php/php5apache2_4.dll" #php-5.2.17-Win32-VC6-x86.zip 是 LoadModule php5_module "/ApacheServer/php/php5apache2_2.dll" #添加PHP等后缀的处理,可以执行.php文件 AddType application/x-httpd-php .php #指定编译PHP的目录 PHPIniDir "/ApacheServer/php" 第一句话加载php对应apache版本的dll文件,PHP5.2对应apache2.2,PHP5.5对应apache2.4 然后第二句是添加PHP等后缀的处理,表示当Apache接收到内容头为application/x-httpd-php 或后缀为.php的文件时,将交给PHPIniDir 下的相关进行处理,这样我们的PHP 文件就能通过Apache然后让PHP进行编译了。 至此PHP与apache就关联上了 2,修改存放项目的目录 apache默认项目目录是在apache安装目录下的htdocs文件夹内,可以修改成想要指定的目录下,这里指定为D:\ApacheServer\web 所以找到并将 DocumentRoot "D:/ApacheServer/Apache/htdocs" 修改成 DocumentRoot "/ApacheServer/web" 还有 <Directory "D:/ApacheServer/Apache/htdocs"> 修改成 <Directory "/ApacheServer/web"> 以下可选设置: 服务器访问权限修改此处 <Directory "/ApacheServer/web"> ... Allow from all (把Allow from 127.0.0.1改成Allow from all即可,apache2.4好像不用修改) </Directory> 改端口 Listen 80 地址栏访问一个文件夹不指定页面时,默认读取index.php页面 DirectoryIndex index.html后面添加index.php用空格隔开 变成 DirectoryIndex index.html index.php 伪静态有时会需要用到该模块,找到 LoadModule rewrite_module modules/mod_rewrite.so 并将前面的#去掉 mod_rewrite模块包括很多工作,其中SEO人员最常用的就是在网站编辑时声明规则 被Apache实时地将访问者请求的静态URL地址映射为动态查询字符串,并发送给不同的PHP脚本处理 从搜索引擎蜘蛛的角度看来,这些URL地址是静态的。就是平时我们说的动态网站静态化。 并且找到 AllowOverride None 改成 AllowOverride All 安装好Apache后如需将ApacheServer文件夹移动到其他电脑或盘符下也可启动使用Apache,除了之前配置的相对路径,还需修改Apache配置文件 ServerRoot "D:/ApacheServer/Apache" 改成 ServerRoot "/ApacheServer/Apache" ScriptAlias /cgi-bin/ "D:/ApacheServer/Apache/cgi-bin/" 改成 ScriptAlias /cgi-bin/ "/ApacheServer/Apache/cgi-bin/" <Directory "D:/ApacheServer/Apache/cgi-bin"> 改成 <Directory "/ApacheServer/Apache/cgi-bin"> MySql: 安装mysql 选custom以选择安装目录 在选择安装内容的小框内,点击MySQL Server设置安装目录 安装目录设在D:\ApacheServer\mysql 点击Server data files设置数据存储目录 数据目录设在D:\ApacheServer\mysql 一直下一步,选中启动设置向导安装完成会弹出设置框 选择Detailed configuration详细设置 standard configuration标准设置 下一步 如果仅仅只是作为WEB数据库,推荐选择第二项。 选择server machine 服务器 developer machine 开发机器 delicated mysql server machine 专业mysql服务器 下一步 Mysql数据库用途 选择multifunctional database 多功能数据库 transactional database only 仅仅事务型数据库 non-transactional database only仅仅没有事务的数据库 下一步 设定innodb数据存放位置 默认就行,也可设为 D:\ApacheServer\mysql\innodb\ 下一步 选择Mysql的并发连接数,第一项是最大20个连接并发数,第二项是最大500个并发连接数,最后一种是自定义,可以根据自己的需要选择。 选择第一个decision.. 下一步 选择Mysql服务的端口号 端口默认3306即可 上下两个Enable复选框都选上,Enable strict mode开启精准模式 不用选add firewall exception for this port添加防火墙对此接口的列外 下一步 设置字符集 选择manual selected default character set手动选择默认字符集设置,将字符集设置成utf8或gbk standard character set标准字符集设置 best support for multilingualism 多语言最佳支持 下一步 设置Mysql为Windows服务 选中install as windows service service name默认MySql 选中launch the mysql server automatically自动启动mysql数据库 其他不选 include bin directory in windows path目录包括在路径 下一步 设置root用户密码 选中enable root access from remote machines开启从远程机器访问root 其他不选 create an anonymous account创建一个匿名账号 一直next完成安装 至此PHP+apache+mysql安装完成 以下可选设置: my.ini设置: 更改数据库数据存储位置 安装好后在mysql安装根目录找到my.ini 找到 datadir="C:/Documents and Settings/All Users/Application Data/..." 将其值修改为 datadir="D:/ApacheServer/mysql/data/" 将原来存放数据的data文件夹内所有数据除mysql外全部复制到指定文件夹内 在my.ini最后一行添加 log=D:/ApacheServer/mysql/log.txt 对数据库执行的所有sql语句都将写入到该 log.txt 文件中,日志文件会越来越大,需手动清理,如无必要则不需添加该行命令 重启电脑或重启mysql服务 重启mysql服务:打开windows命令符输入net stop mysql停止mysql服务,net start mysql启动mysql服务 安装phpmyadmin 下载phpmyadmin压缩包,选all-languages的zip版本 http://www.phpmyadmin.net/home_page/downloads.php 解压缩到web目录下并将解压缩的文件夹改名phpmyadmin 在浏览器地址输入 http://localhost/phpMyAdmin/index.php 输入数据库用户名,密码即可访问