Windows下用IIS搭建PHP环境(IIS+PHP+Mysql+phpMyAdmin)
yuyutoo 2024-10-13 00:42 1 浏览 0 评论
一、开启IIS全部功能。
1.打开“控制面板”—类别视图模式下“程序”—“启用或者关闭Windows功能”—“Internet Information Services”
2.单击“Internet Information Services”前面的“+”,勾选里面所有选项,直到“Internet Information Services”前面的选框为“√”即可
二、部署PHP
1.官网下载并解压PHP:https://windows.php.net/downloads/releases/
2.将php.ini-development文件改为php.ini
3.修改php.ini
(1)去掉注释,并修改extension_dir路径
(2)去掉扩展extension的dll注释。
(3)设置上传文件大小:upload_max_filesize
(4)设置session:save_path = "安装路径\php\tmp"
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
;extension=interbase
extension=ldap
extension=mbstring
extension=exif
extension=mysqli
;extension=oci8_12c
extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
4.自行运行(不用iis)
路径/php-cgi.exe -b 127.0.0.1:9000 -c 路径/php.ini
5.IIS部署:
(1)打开IIS管理器,双击主机名(IP),在右侧打开“处理程序映射”,点击“添加模块映射”,设置:请求路径为“*.php”,模块选择“FastCgiModule”,可执行文件选择“php-cgi.exe”,名称设置为“php”。
(2)单击左侧主机名(IP)回到主页,双击【FastCGI 设置】,双击打开“php-cgi.exe”选项,设置单击右侧【编辑】按钮,在【监视对文件所做的更改】中选择 php.ini。
6.单击左侧主机名(IP)回到主页,添加默认文档:index.php和default.php
7.切换php版本后删掉根目录下web.config即可
三、安装Mysql:
1.官网下载压缩包:https://dev.mysql.com/downloads/mysql/
2.解压并在根目录添加my.ini文件:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\web\mysql
# 设置mysql数据库的数据的存放目录
datadir=E:\web\mysql\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8
注意,最新的mysql8.0应设为:
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.添加系统环境变量:在系统变量的Path中添加mysql.exe所在的
4.安装数据库:
(1)管理员运行cmd
(2)初始化MySQL数据库
方式一:
命令:mysqld --initialize-insecure
作用:初始化数据库,并设置默认root密码为空
初始化完成后,在mysql根目录中会自动生成data文件夹,如下图所示:
注意:当出现如上图所示的三个文件夹后才表示初始化完成
方式二:
命令:mysqld –initialize
作用:初始化数据库,并设置默认root密码为过期的随机密码,随机密码存储在data文件夹里的“用户名.err”文件中。下图所示的内容为随机生成的密码:
(3)为Windows系统安装MySQL服务
命令:mysqld install MySQL --defaults-file="?E:\web\mysql\my.ini"
作用:为Windows系统安装MySQL服务,默认服务名为:mysql
注意:如果想删除MySQL服务,可以使用命令“mysqld remove”,是在删除MySQL服务之前需要确保已经停止MySQL服务。
(4)启动MySQL服务
命令:net start mysql
作用:启动MySQL服务,注意此时的“mysql”表示服务名
至此,MySQL压缩包版数据库安装完毕!
(5)设置root用户密码
命令:输入命令mysql -u root -p指定 root 用户登录 MySQL,输入后按回车键输入密码。如果没有配置环境变量,请在 MySQL 的 bin 目录下登录操作。使用 SET PASSWORD 修改密码命令格式为“set password for root@localhost = password('密码');”,或者“SET PASSWORD FOR root@localhost = '123456';”
5.Mysql无法连接的问题解决:
原因是新版本mysql8 的密码加密方式已经改变,而php 的加密方式没有升级。方法:cmd运行mysql -u root -p登录控制台
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
mysql> use mysql;
mysql> update user set host="%" where user='root';
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges;
四、部署PhpMyAdmin
1.下载PhpMyAdmin:https://www.phpmyadmin.net/files/
2.解压到站点目录并在IIS添加该网站以便控制数据库
3.打开根目录下的config.inc.php文件进行如下修改(如果没有修改config.sample.inc.php为config.inc.php)
$cfg['blowfish_secret'] = '任意长字符串'
4.修改libraries文件夹下的config.default.php
(1)访问网址
$cfg['PmaAbsoluteUri'] = '';这里填写phpmyadmin的访问网址
(2)mysql主机信息
$cfg['Servers'][$i]['host'] = 'localhost';填写localhost或mysql所在服务器的ip地址,如果mysql和该phpmyadmin在同一服务器,则按默认localhost
$cfg['Servers'][$i]['port'] = '';mysql端口,如果是默认3306,保留为空即可
(3)mysql用户名和密码
$cfg['Servers'][$i]['user'] = 'root'; mysql用户名
fg['Servers'][$i]['password'] = ''; mysql用户名的密码
(4)认证方法
$cfg['Servers'][$i]['auth_type'] = 'cookie';
在此有四种模式可供选择,cookie,http,HTTP,config
config方式即输入phpmyadmin的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
当该项设置为cookie,http或HTTP时,登录phpmyadmin需要数据用户名和密码进行验证,,具体如下:
PHP安装模式为Apache,可以使用http和cookie;
PHP安装模式为CGI,可以使用cookie
(5)短语密码(blowfish_secret)的设置
$cfg['blowfish_secret'] = '';
如果认证方法设置为cookie,就需要设置短语密码,置于设置为什么密码,由您自己决定 ,但是不能留空,否则会在登录phpmyadmin时提示错误。
至此安装完毕,可以安装php网站了
【网络技术】Windows下用IIS搭建PHP环境(IIS+PHP+Mysql+phpMyAdmin) - 网络技术 - 炘蓝火诗
相关推荐
- jQuery VS AngularJS 你更钟爱哪个?
-
在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...
- Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0
-
在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...
- 如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例
-
要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...
- 编程技巧:Jquery实时验证,指定长度的「负小数」
-
为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...
- 一篇文章带你用jquery mobile设计颜色拾取器
-
【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...
- 编程技巧:Jquery实时验证,指定长度的「正小数」
-
为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...
- jquery.validate检查数组全部验证
-
问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...
- Vue进阶(幺叁肆):npm查看包版本信息
-
第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...
- layui中使用lay-verify进行条件校验
-
一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...
- jQuery是什么?如何使用? jquery是什么功能组件
-
jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...
- django框架的表单form的理解和用法-9
-
表单呈现...
- jquery对上传文件的检测判断 jquery实现文件上传
-
总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- 大数据开发基础之JAVA jquery 大数据java实战
-
上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...
- 推荐四个开源的jQuery可视化表单设计器
-
jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)