win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)

yizhihongxing

win2008 r2 服务器php+mysql+sqlserver2008运行环境配置

安装PHP

  1. 下载PHP
  2. 推荐从官网下载压缩包文件,例如:PHP 7.4.23
  3. 解压到指定目录
  4. 推荐解压到C盘根目录下,例如:C:\php\
  5. 配置PHP
  6. 将php.ini-development文件修改为php.ini,例如:C:\php\php.ini
  7. 修改php.ini配置文件,例如:
    ini
    extension_dir = "C:\php\ext"
  8. 加载PHP扩展,例如:
    ini
    extension=php_mysql.dll
    extension=php_mysqli.dll

安装MySQL

  1. 下载MySQL
  2. 推荐从官网下载MySQL Installer,例如:MySQL Installer 8.0.27
  3. 安装MySQL
  4. 选择Custom模式,只安装MySQL Server和MySQL Workbench
  5. 配置MySQL Root用户密码和端口号
  6. 配置MySQL
  7. 将MySQL安装目录下的bin目录加入系统环境变量
  8. 修改MySQL Root用户密码,例如:
    sql
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
  9. 创建新的MySQL用户和数据库,例如:
    sql
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    CREATE DATABASE `newdatabase`;
    GRANT ALL PRIVILEGES ON `newdatabase`.* TO 'newuser'@'localhost';
  10. 设定MySQL监听IP,例如:
    ini
    bind-address = 0.0.0.0

安装SQL Server

  1. 下载SQL Server
  2. 推荐从官网下载SQL Server Express,例如:SQL Server Express 2017
  3. 安装SQL Server
  4. 选择Custom模式,只安装Database Engine和SSMS
  5. 配置SQL Server身份验证和端口号
  6. 配置SQL Server
  7. 将SQL Server安装目录下的bin目录加入系统环境变量
  8. 创建新的SQL Server用户和数据库,例如:
    sql
    CREATE LOGIN newuser WITH PASSWORD = 'password';
    CREATE DATABASE newdatabase;
    ALTER AUTHORIZATION ON DATABASE::newdatabase TO newuser;
    USE newdatabase;
    CREATE USER newuser FOR LOGIN newuser;
    GRANT CONNECT SQL TO newuser;
  9. 设定SQL Server监听IP和端口号,例如:
    sql
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
    N'Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
    N'TcpPort', REG_DWORD, 1433;
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
    N'Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
    N'TcpDynamicPorts', REG_DWORD, 0;

配置IIS

  1. 安装IIS
  2. 推荐使用Server Manager安装IIS,勾选IIS和CGI选项
  3. 配置PHP
  4. 打开IIS管理器,选中网站,在网站中配置PHP
  5. 添加处理程序映射,例如:
    请求路径:*.php
    模块名:FastCgiModule
    可执行文件:C:\php\php-cgi.exe
  6. 配置FastCGI设置,例如:
    ```
    找到FastCGI应用程序设置,将PHP适用的设置添加进去,例如:
    所有用户:
  7. 名称:PHP
  8. 可执行文件:C:\php\php-cgi.exe
  9. 原始值:-c C:\php\php.ini
    ```
  10. 配置MySQL和SQL Server
  11. 在网站中配置MySQL和SQL Server连接
  12. 在PHP文件中编写连接MySQL和SQL Server的代码,例如:
    ```php
    connect_error) {
    die("连接失败: " . $conn->connect_error);
    }

    $sql = "SELECT id, name FROM mytable";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. "
    ";
    }
    } else {
    echo "0 结果";
    }
    $conn->close();
    ?>

```

安全配置

  1. 禁用IIS默认网站
  2. 在IIS管理器中禁用默认网站,防止黑客攻击
  3. 防火墙设置
  4. 添加MySQL和SQL Server的入站规则,只允许特定IP地址访问相应的端口
  5. 添加IIS的入站规则,只允许特定IP地址访问网站
  6. 修改文件权限
  7. 将网站目录的写入权限设为最小化,只允许必须的用户写入
  8. 把敏感的文件比如配置文件和数据库证书等放在不可见的文件夹里

示例说明

示例1:用PHP连接MySQL数据库

<?php
$servername = "localhost";
$username = "newuser";
$password = "password";
$dbname = "newdatabase";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
   die("连接失败: " . $conn->connect_error);
}

$sql = "SELECT id, name FROM mytable";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
   // 输出数据
   while($row = $result->fetch_assoc()) {
       echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
   }
} else {
   echo "0 结果";
}
$conn->close();
?>

该示例展示了如何在PHP代码中连接MySQL数据库,以及如何查询数据库中的信息并输出到页面上。

示例2:用PHP连接SQL Server数据库

<?php
$serverName = "192.168.1.100, 1433";
$connectionOptions = array(
   "Database" => "newdatabase",
   "Uid" => "newuser",
   "PWD" => "password"
);

// 创建连接
$conn = sqlsrv_connect($serverName, $connectionOptions);
// 检查连接
if ($conn === false) {
   die(print_r(sqlsrv_errors(), true));
}

$sql = "SELECT id, name FROM mytable";
$stmt = sqlsrv_query($conn, $sql);

if ($stmt === false) {
   die(print_r(sqlsrv_errors(), true));
}

if (sqlsrv_has_rows($stmt)) {
   while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
       echo "id: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
   }
} else {
   echo "0 结果";
}
sqlsrv_free_stmt($stmt);
?>

该示例展示了如何在PHP代码中连接SQL Server数据库,以及如何查询数据库中的信息并输出到页面上。注意,这里采用了sqlsrv扩展,需要先在php.ini文件中启用该扩展。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等) - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • 常用的SQL例句 数据库开发所需知识

    针对常用的SQL例句和数据库开发所需知识,我可以提供如下攻略: SQL语句基础 数据库和表的管理 创建数据库: CREATE DATABASE mydatabase; 删除数据库: DROP DATABASE mydatabase; 创建表: CREATE TABLE mytable ( id INT PRIMARY KEY, name VARCHAR(30…

    database 2023年5月22日
    00
  • mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDATE )

    MySQL中的INSERT语句用于将数据插入到表中。在插入过程中,我们还可以使用一些额外的参数,来控制INSERT的行为。其中包括:DELAYED、IGNORE和ON DUPLICATE KEY UPDATE。 接下来,我们分别来详细讲解一下这三种参数的使用方法,以及给出示例说明。 DELAYED DELAYED关键字可以被用于INSERT语句中,表示该插入…

    database 2023年5月22日
    00
  • Centos MySQL 5.7安装、升级教程

    CentOS 7上安装MySQL 5.7 MySQL 5.7是当前最新稳定版本,它的新特性包括更好的性能和可扩展性,更好的JSON支持和更大的安全性。在CentOS 7上,MySQL 5.7安装过程如下: 更新系统 在安装MySQL 5.7之前,我们需要先更新系统: yum update -y 添加MySQL Yum Repository 下载MySQL Y…

    database 2023年5月22日
    00
  • MySql存储过程异常处理示例代码分享

    下面我将详细讲解”MySql存储过程异常处理示例代码分享”的完整攻略。 什么是存储过程 存储过程是MySQL中的一种特殊对象,是由一系列SQL语句和控制语句组成的代码块,存储在数据库中,类似于函数一样。存储过程可以方便地实现复杂的业务逻辑,提高了处理效率。 存储过程异常处理的必要性 在存储过程中,出现错误是很常见的一种情况,例如数据插入、更新等操作出现异常情…

    database 2023年5月21日
    00
  • CI框架(CodeIgniter)操作redis的方法详解

    下面就为大家详细讲解 CI框架(CodeIgniter) 操作 Redis 的方法。 1. 前置要求 在使用 CI框架(CodeIgniter) 操作 Redis 之前,需要确保已经安装了 Redis PHP 扩展。安装方式可参考 Redis 扩展的安装与使用。同时,需要将 Redis 服务启动起来。 2. 安装 Redis 扩展 在开始使用 Redis 扩…

    database 2023年5月22日
    00
  • mysql的join查询和多次查询方式比较

    MySQL是一个关系型数据库管理系统,它支持多种查询方式,其中最常用的两种是join查询和多次查询。 什么是join查询 Join查询是指从两个或多个表中按照指定的条件组合出一个结果集的查询方式。它的语法结构为: SELECT 列名 FROM 表1 JOIN 表2 ON JOIN条件 其中,JOIN条件是指两个表之间的连接条件,常见的连接方式包括INNER …

    database 2023年5月19日
    00
  • MySQL存储过程的深入讲解(in、out、inout)

    MySQL存储过程的深入讲解(in、out、inout) MySQL存储过程是一组SQL语句集合,它们被处理为单个单元并在MySQL服务器上以原子方式执行。存储过程将SQL语句封装在一个命名的块中,此块可以被多次调用。MySQL存储过程提供了多种类型的参数传递和返回值方式,包括in、out和inout类型的参数。 定义一个存储过程 在MySQL中,可以使用C…

    database 2023年5月21日
    00
  • Redis集群环境搭建

    一、Redis Cluster(Redis集群) 简介 redis3.0版本之前只支持单例,在3.0版本及以后才支持集群 redis集群采用p2p模式,是完全去中心化的,不存在中心节点或者代理节点。 redis集群是没有统一的入口的,客户端(Client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制)…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部