【Windows Server 2019】 IIS+php56+mysql56470

news2024/11/27 20:58:31

文章目录

  • 一、安装web服务器(IIS)
  • 二、安装php 5.6.31 nts
    • 1、前置配置
    • 2、设置iis
    • 3、验证php安装
  • 三、安装MySQL
    • 下载Navicat Premium
  • 四、测试


一、安装web服务器(IIS)

前面不多说,在角色服务中选择如下内容:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完后验证:
在这里插入图片描述

二、安装php 5.6.31 nts

1、前置配置

安装Visual C++ Redistributable for Visual Studio 2012,可以通过百度到官方下载,也可以在我这里下载:https://wwym.lanzouq.com/iRTWT1gl6nra
下载完成后直接安装
在这里插入图片描述
然后下载php-5.6.31-nts-Win32-VC11-x64,可以百度去找也可以在这里:https://wwym.lanzouq.com/iH43S1gl6r6d
下载完成后解压,找一个合适的地方放起来,我的位置是C:\php\php56
在这里插入图片描述
然后在这个文件夹中可以看到两个php的配置文件
php.ini-development:适合开发程式使用
php.ini-production:拥有较高的安全性设定,则适合正式上线的服务器中使用
我们将php.ini-production重命名为php.ini。然后改以下内容:
1、将; extension_dir = "./"修改为extension_dir = "C:/php/php56/ext/"
2、; date.timezone修改为date.timezone = asia/shanghai
3、加载以下模块去掉前面的;

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_openssl.dll

extension=php_pdo_mysql.dll

extension=php_pdo_sqlite.dll

4、设置缓存目录:;session.save_path = "/tmp"改为session.save_path = "C:/php/php56Temp"
5、设置PHP上传大小:post_max_size = 8M改为post_max_size = 20Mupload_max_filesize = 2M改为upload_max_filesize = 20M
然后给C:\php设置everyone默认权限

2、设置iis

打开IIS管理器,找到处理程序映射
在这里插入图片描述
点击添加模块映射
在这里插入图片描述

3、验证php安装

C:\inetpub\wwwroot下新建一个1.php文件,文件内容如下:

<?php phpinfo();?>

然后用浏览器访问
在这里插入图片描述

三、安装MySQL

可以下载MySQL对应的版本:https://downloads.mysql.com/archives/installer/
我下载的文件是mysql-installer-community-5.6.47.0.msi,然后打开它
在这里插入图片描述
我们选择Full
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里设置MySQLroot的密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载Navicat Premium

https://www.navicat.com.cn/
安装完后直接连接数据库
在这里插入图片描述

四、测试

数据准备:

CREATE DATABASE IF NOT EXISTS `user` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE `user`;

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `user` (`username`, `password`) VALUES ('user1', 'user1password');

index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <form action="login.php" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required>
        <button type="submit">Login</button>
    </form>
</body>
</html>

login.php

<?php
// login.php
$host = 'localhost'; // 通常是这个地址
$db   = 'user';      // 数据库名
$user = 'root';      // 数据库用户名
$pass = '123456';    // 数据库密码
$charset = 'utf8mb4';

// 设置DSN(数据源名称)
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

try {
    // 创建PDO实例
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
    throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

// 检查表单是否被提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    $password = $_POST['password'];

    // 准备SQL语句
    $stmt = $pdo->prepare("SELECT * FROM user WHERE username = ?");
    $stmt->execute([$username]);
    $user = $stmt->fetch();

    // 验证用户名和密码
    if ($user && $user['password'] === $password) {
        echo "登录成功!欢迎 " . htmlspecialchars($username);
        // 这里可以设置session或者跳转到其他页面
    } else {
        echo "登录失败:用户名或密码错误。";
    }
}
?>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1291423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python中的深拷贝和浅拷贝的区别

目录 一、深拷贝和浅拷贝的概念 二、Python中的深拷贝和浅拷贝实现 三、深拷贝和浅拷贝的区别及适用场景 四、如何选择深拷贝和浅拷贝 五、总结 在Python中&#xff0c;深拷贝和浅拷贝是非常重要的概念&#xff0c;它们在处理对象和数据结构时有着截然不同的行为。理解深拷…

Linux横向移动

Linux横向移动 主机存活探测 shell for i in 192.168.111.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i is alived; fi; done 或者 for k in $( seq 1 255);do ping -c 1 192.168.1.$k|grep "ttl"|awk -F "[ :]" {print $4}; d…

生信学院|12月8日《快速质检文档创建》

课程主题&#xff1a;快速质检文档创建 课程时间&#xff1a;2023年12月8日 14:00-14:30 主讲人&#xff1a;曾裕章 生信科技 售后服务工程师 1、Inspection模块介绍 2、Inspection插件版演示 3、Inspection独立版演示 4、总结与答疑 请安装腾讯会议客户端或APP&#xf…

appium :输入框控件为android.view.View 时输入内容(如:验证码、密码输入框)

问题背景 输入密码的组件信息为&#xff1a;<android.view.View resource-id“com.qq.ac.android:id/pwd_input”> 由于输入框控件是android.view.View&#xff0c;不是android.widget.EditText&#xff0c;所以只能点击&#xff0c;而启动appium后&#xff0c;会将输入…

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇3(附项目源码)

文章目录 本节最终效果前言素材人物移动音效枪口火焰和开火音效枪口灯光弹孔和火花添加武器随镜头手臂摇摆效果源码完结 本节最终效果 前言 本节主要实现添加音效&#xff0c;和一些特效、武器摆动调整。 素材 素材&#xff0c;为了方便我直接用了unity免费的音效输出&#…

第二证券:政策稳预期强信心 民间投资结构性亮点纷呈

民营经济是中国特色社会主义商场经济的重要组成部分&#xff0c;是推动中国式现代化和高质量展开的生力军。本年以来&#xff0c;国内外环境仍然复杂多变&#xff0c;我国民营企业展开耐性不减。受访专家标明&#xff0c;跟着支撑民营经济展开的系列严峻抉择计划安置执行落地&a…

sql注入 [GXYCTF2019]BabySQli1

打开题目 多次尝试以后我们发现存在一个admin的账号&#xff0c;但是密码我们不知道 我们尝试一下万能密码 admin or 11 -- q 报错 我们尝试bp抓一下包看看 看着很像编码 先去base32解码 再base64解码 得到 我们从这个sql语句中得到注入点为name 根据报错信息我们知道是…

Java网络编程——非阻塞通信

对于用ServerSocket以及Socket编写的服务器程序和客户程序&#xff0c;它们在运行过程中常常会阻塞。例如当一个线程执行ServerSocket的accept()方法时&#xff0c;假如没有客户连接&#xff0c;该线程就会一直等到有了客户连接才从accept()方法返回。再例如当线程执行Socket的…

【深度学习】Adversarial Diffusion Distillation,SDXL-Turbo 一步出图

代码&#xff1a; https://huggingface.co/stabilityai/sdxl-turbo 使用 SDXL-Turbo 是SDXL 1.0的精炼版本&#xff0c;经过实时合成训练。SDXL-Turbo 基于一种称为对抗扩散蒸馏 (ADD) 的新颖训练方法&#xff08;请参阅技术报告&#xff09;&#xff0c;该方法允许在高图像质…

免费的AI智能改写工具,让你的文章每一篇都是原创

在当今数字化的时代&#xff0c;对于各行各业都带来了深刻的变革。在文案创作领域&#xff0c;AI智能改写工具成为写作者们提高效率、拓展创作思路的得力助手。本文将深入探讨AI智能改写工具的现状和发展趋势。 AI智能改写工具大全 让我们回顾一下AI智能改写工具的发展历程以…

MySQL为何偏爱B+树索引

一、MySQL、B树概念 MySQL是一种关系型数据库&#xff0c;它使用SQL语言来操作数据。SQL语言可以实现对数据的增删改查等操作&#xff0c;但是如果数据量很大&#xff0c;那么这些操作的效率就会很低。为了提高效率&#xff0c;MySQL引入了索引的概念。 索引是一种数据结构&am…

市场上好用的aspera替代方案,你知道哪些

Aspera作为一个高速文件传输方案曾经非常受欢迎&#xff0c;但是其昂贵的价格却限制了许多用户的选择&#xff0c;因此市场上出现了众多Aspera替代方案&#xff0c;本文将会介绍市场上最好的Aspera替代方案。 最近几年&#xff0c;网络传输已成为现代商业运作中必不可少的一部…

Qt6 QRibbon 一键美化Qt界面

强烈推荐一个 github 项目&#xff1a; https://github.com/gnibuoz/QRibbon 作用&#xff1a; 在几乎不修改任何你自己代码的情况下&#xff0c;一键美化你的 UI 界面。 代码环境&#xff1a;使用 VS2019 编译 Qt6 GUI 程序&#xff0c;继承 QMainWindow 窗口类 一、使用方法 …

QT+Unity3D 超详细(将unity3D与QT进行连接,并实现信息传递)

QTUnity3D连接 在QT中连接unity3D&#xff0c;首先要有一个unity.exe执行文件。在这里不提供unity执行文件的编写&#xff0c;只提供QT这边与unity3D连接和信息传递。 创建项目 创建一个新的项目&#xff0c;我创建的项目名称如下。 下图是我建立新项目的文件。APP文件就是…

Spring boot 使用Redis 消息发布订阅

Spring boot 使用Redis 消息发布订阅 文章目录 Spring boot 使用Redis 消息发布订阅Redis 消息发布订阅Redis 发布订阅 命令 Spring boot 实现消息发布订阅发布消息消息监听主题订阅 Spring boot 监听 Key 过期事件消息监听主题订阅 最近在做请求风控的时候&#xff0c;在网上搜…

智能成绩表 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述 第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10 第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文…

备战2024年1月AMC8美国数学竞赛新方式:刷在线真题集(附资源)

今天是2023年12月7日&#xff0c;距离暂定于2024年1月19日举办的AMC8美国数学竞赛的举办日期还有42天&#xff0c;有志于尽早出国留学&#xff0c;或者小升初冲击名校的孩子们相信已经在如火如荼地利用课余时间上辅导班或者自学。 为了帮助大家提高备考2024年1月份AMC8竞赛的效…

二百一十、Hive——Flume采集的JSON数据文件写入Hive的ODS层表后字段的数据残缺

一、目的 在用Flume把Kafka的数据采集写入Hive的ODS层表的HDFS文件路径后&#xff0c;发现HDFS文件中没问题&#xff0c;但是ODS层表中字段的数据却有问题&#xff0c;字段中的JSON数据不全 二、Hive处理JSON数据方式 &#xff08;一&#xff09;将Flume采集Kafka的JSON数据…

设计一算法,对单链表实现就地逆置

对单链表逆置&#xff0c;要联想到单链表的头插性质 举个例子&#xff1a;现在有一个空链表&#xff0c;我们依次对它进行头插123 那么形成的链表是321&#xff0c;这样就形成了逆置 //单链表就地逆置 //思路&#xff1a;把原表接到一个新表上&#xff0c;然后对原表进行头插 …

实例分割 Mask-RCNN

参考文章 使用LabelMe标注目标检测数据集并转换为COCO2017格式_labelme转coco-CSDN博客 数据集选择 voc 这次不选择voc&#xff0c;因为文件组织太难了 voc2012文件夹组织 COCO COCO介绍 MC COCO2017年主要包含以下四个任务&#xff1a;目标检测与分割、图像描述、人体关…