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错误信息,把这一项前面的对钩取消,然后刷新一下就会显示出详细的出错信息
本文来自博客园,作者:0dot7,转载请注明原文链接:https://www.cnblogs.com/0dot7/p/16833424.html
文章如有错误,欢迎各位师傅指正!!!
免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具