Apache 上Apache官网才发现官方已经不提供Apache服务器的安装包,只有源码编译,也同时推荐了一些其他开发者提供的安装包,如ApacheHaus、Apache Lounge等。我这里用的是Apache Lounge的安装包httpd-2.4.20-win64-VC14.zip,同时系统必须安装了C++ Redistributable Visual Studio 2015 Update 1: VC_redist.x64.exe,最后还有后面需要用到的FastCGI模块mod_fcgid-2.3.9-win64-VC14.zip
MySQL mysql-5.7.11-winx64.zip
安装Apache
首先解压httpd-2.4.20-win64-VC14.zip,为了方便管理我将解压得到的文件夹Apache24放到D:/PHPServer目录下。同时对Apache配置文件httpd.conf中用到路径的配置作相应修改:
ServerRoot "D:/PHPServer/Apache24"
DocumentRoot "D:/PHPServer/Apache24/htdocs"
即网站根目录。并将下一行中的“”里的路径改为上述值,这个是用于设置访问网站的权限。
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Satisfy all
Require all granted
查找“Listen”,默认情况下是监听80端口。但如果80端口被占用(例如开启了IIS),则需要改为其它端口,例如:Listen 8080
以管理员身份启动命令提示符(win10可以在“开始”菜单处右击,选择“命令提示符(管理员)”),使用cd D:/PHPServer/Apache24/bin切换到apache的命令目录,在命令行输入httpd.exe即可启动apache服务器。
在浏览器输入地址http://localhost,出现It works!即代表apache启动成功。
这种方式并没有将apache安装成为系统服务,命令行退出了服务也就结束了。安装成服务也非常简单,只需要执行httpd.exe -k install(卸载服务httpd.exe -k uninstall)。安装成功后启动bin目录下的ApacheMonitor可以对服务器进行管理。
安装MySQL
Mysql官方提供两种安装方式,一种是常规的msi安装包的方式,另一种是压缩包形式的免安装方式。这里使用压缩包的形式安装。首先解压mysql-5.7.11-winx64.zip,为了方便执行Mysql命令可以将Mysql的bin目录添加到系统的环境变量Path。安装Mysql前需要指定数据文件的存放路径,默认路径为Mysql目录下的data目录,需要手工创建这个目录。
解压mysql-5.7.11-winx64.zip到D:\Program Files\,改名为MySQL,在D:\Program Files\Mysql目录下建立my.ini:
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=D:\Program Files\Mysql
; 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\Mysql\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
在D:\Program Files\Mysql目录下新建文件夹data
在“开始”菜单处右击,选择“命令提示符(管理员)”,进入D:\Program Files\Mysql\bin
输入:mysqld --initialize-insecure --user=mysql
使用-initialize生成随机密码,由于自己学习,使用-initialize-insecure生成空密码。默认帐号root,后面的-user=mysql不更改,注意此时新建的data文件夹下必须为空
再输入 mysqld --install注册服务 net start mysql 启动
此后 可以下载PhpMyAdmin来对MySQL数据库进行界面管理
安装PHP
php7作为Apache模块安装时仅支持VC6以下的Apache,不能和VC9以上的Apache一起运行。所以推荐采用fastcgi形式安装。
首先解压php-7.0.0-Win32-VC14-x64.zip到D:/PHPServer/并重命名为php7。将前面准备好的FastCGI模块mod_fcgid-2.3.9-win64-VC14.zip解压得到mod_fcgid.so文件拷贝到Apache的modules文件夹。修改Apache配置文件httpd.conf添加FastCGI配置:
LoadModule fcgid_module modules/mod_fcgid.so
FcgidInitialEnv PHPRC "D:/PHPServer/php7"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
AddType application/x-httpd-php .php
"
AddHandler fcgid-script .php
FcgidWrapper "D:/PHPServer/php7/php-cgi.exe" .php
为站点根目录的Options增加ExecCGI,我设置的站点目录为D:/PHPServer/Apache24/htdocs,即在中加上Options -Indexes +ExecCGI
Options -Indexes +ExecCGI
找到DirectoryIndex index.html改为DirectoryIndex index.php index.html index.jsp default.html default.php站点默认加载index.php
接着要配置php7,其实PHP的配置主要还是在Apache里完成的。
1、先将PHP根目录下的php.ini-development复制一份,用记事本打开,修改为“php.ini”保存。
2、进入 “D:\PHPServer\Apache24\conf”,用记事本打开“httpd.conf”文件进行基础配置。
LoadModule php7_module "D:/PHPServer/php7/php7apache2_4.dll"
AddHandler application/x-httpd-php .php .phtml
PHPIniDir "D:/PHPServer/php7"
3、现在开始来测试,把D:/PHPServer/Apache24/htdocs里,新建一个文件,输入以下内容:<?php
echo phpinfo();
?>另存为“index.php”,用浏览器打开:PHP的版本信息。
4、接下来,我们修改下1、中的PHP的配置文件(php.ini):
4.1第一步,修改扩展包:查找“extension_dir”,将“ext”改为““D:\PHPServer\php7\ext””,注意:这里是Windows下的路径,和Apache是不同的,并同时删掉前面注释用的分号。
4.2接下来启用扩展动态链接库。查找“php_bz2.dll”,去掉分号。以下依次是:php_curl.dll、php_gd2.dll、php_imap.dll、php_mbstring.dll、php_mysqli.dll(旧版本则多一个不常用的php_mysql.dll)、php_pdo_mysql.dll 、php_pdo_odbc.dll、php_xmlrpc.dll
4.3查找“upload_tmp_dir”,配置上传的临时文件存放位置:“D:\PHPServer\Apache24\htdocs\tmp”如果没有文件夹则新建。
4.4 最后设置相应的时区date.timezone = Asia/Shanghai以下配置为可选项:
4.5设置编码。查找“default_charset”,将默认的“UTF-8”改为“gbk”。(不推荐)
4.6设置会话保存路径。查找“session.save_path”,将值改为:“D:/PHPServer/php7/tmp”,用于保存session生成的临时文件。
查找“upload_max_filesize”,设置上传文件的最大体积。