Windows Server 2008+IIS+php+MySQL环境搭建

Win2008+IIS+php+MySQL环境搭建


一、Windows环境

  • 操作系统:Windows Server 2008 R2

  • IIS版本:IIS 7.5

  • PHP版本:php 5.6.9

  • MySQL版本:MySQL 5.7.40

二、部署IIS

1、打开服务器管理器——角色——添加角色

2、选择Web服务器(IIS)

3、选择角色服务

4、下一步——安装

5、访问测试

三、部署网站

1、开始——管理工具——IIS管理器

2、添加网站

3、配置网站

四、部署php

php下载地址

https://windows.php.net/downloads/releases/archives/php-5.6.9-nts-Win32-VC11-x86.zip

IIS添加php映射

1、处理程序映射

2、添加模块映射

3、添加设置

4、FastCGI设置

5、监视对文件所做的更改:php.ini

没有php.ini文件,只有php.ini-development (开发环境用)与 php.ini-production(生产环境用)两个建议,php仍会去加载php.ini作为配置文件,故选择一个备份后重命名为php.ini即可

6、环境变量——添加——确定

Name:PHP_FCGI_MAX_REQUESTS
Value:10000

7、测试

打开C:\inetpub\wwwroot,新建phpinfo.php文件

访问http://localhost/phpinfo.php

问题:出现 PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings.

原因:关于时区设置。PHP默认获取的时间是格林威治标准时间,与标准北京时间相差8个小时。

解决方法:找到 php.ini 中的 date.timezone ,去掉前面的分号并修改为:date.timezone = PRC

配置文件

php.ini

extension_dir = "	" 	#设置php模块路径
date.timezone = PRC 	#设置时区为中国时区
cgi.force_redirect = 0 	#开启以CGI方式运行php
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1

# 以下php扩展,根据需要开启,取消前面分号即可开启相应扩展
extension=curl
extension=gd2
extension=mbstring
extension=exif
extension=mysqli
extension=sockets
extension=php_xmlrpc
extension=php_pdo_mysql

五、部署MySQL

MySQL下载地址

https://dev.mysql.com/downloads/windows/installer/5.7.html

Mysql(Archive包)的安装

定义配置文件

解压下载的zip包。
在解压出的文件夹下新建配置文件my.ini (换用其他名字将不会被系统识别)

[mysql]

# 设置mysql客户端默认字符集,5.5.3版本后支持utf8mb4,其兼容utf8并且支持emoji
default-character-set=utf8mb4

[mysqld]

#设置3306端口,此处使用默认的3306端口即可
port = 3306 

# 设置mysql的安装目录,根据实际路径进行修改
basedir=C:\mysql-5.7.40-winx64

# 设置mysql数据库的数据的存放目录,在basedir后面添加\data即可。这个目录可能不存在,但不需要手动创建
datadir=C:\mysql-5.7.40-winx64\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集,此处修改为utf8mb4
character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

安装MySQL服务

以管理员模式(方便之后的步骤)打开cmd,并进入zip解压后文件夹下的bin目录,安装 MySQL 服务:

.\mysqld install

如果之前安装过,则可以卸载:

.\mysqld remove mysql

数据库初始化

数据库初始化命令:

.\mysqld --initialize-insecure

注意这里使用insecure是创建一个空密码的超级用户。(如果不加insecure选项,生成的超级用户会带有随机密码,这个密码会被保存到log中。

忘记密码 / 重置密码

打开配置文件my.ini ,在配置文件 [mysqld] 下添加 skip-grant-tables,重启MySQL服务即可免密码登录

use mysql;
update user set password=password('123456') where User='root';

#将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里,就不需要再重启服务了
flush privileges;	

配置MySQL

启动MySQL服务

net start mysql

关闭MySQL服务

net stop mysql 

问题:出现 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

原因:关于参数default_password_lifetime

解决方法:使用alter user修改密码:

alter user user() identified by '123456';

配置php—mysql

检查php.ini配置文件

1、开启拓展:

# 例如:
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

2、找到;extension_dir="./ext",去掉前面的分号

3、重启

tips:

在Internet Explore中选择工具->Internet选项->高级->显示友好的HTTP错误信息,把这一项前面的对钩取消,然后刷新一下就会显示出详细的出错信息

posted @ 2022-10-29 21:02  0dot7  阅读(484)  评论(0编辑  收藏  举报