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

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日

相关文章

  • MySQL日期函数与日期转换格式化函数大全

    MySQL日期函数与日期转换格式化函数大全 MySQL提供了许多日期函数和日期格式化函数,可以帮助我们方便地处理日期数据。本篇攻略将为大家介绍MySQL中常用的日期函数和日期转换格式化函数。 MySQL日期函数 1. NOW() NOW()函数返回当前日期和时间。它没有参数,并且返回一个datetime类型的值。 例如,执行以下查询语句: SELECT NO…

    database 2023年5月22日
    00
  • 如何使用Python从数据库中导出数据并将其保存到JSON文件中?

    以下是如何使用Python从数据库中导出数据并将其保存到JSON文件中的完整使用攻略。 使用Python从数据库中导出数据并将其保存到JSON中的前提条件 在Python中从数据库中导出数据并将其保存到JSON文件中前,需要确保已经安装并启动支持出数据的数据库,例如MySQL或PostgreSQL,并且需要安装Python的相应数据库驱动程序,例如mysql…

    python 2023年5月12日
    00
  • 一次数据库查询超时优化问题的实战记录

    笔者通过实战记录整理出一次数据库查询超时优化的完整攻略,具体包括以下步骤: 步骤一:排查慢查询 1.1 排查当前数据库中是否有慢查询,可以参考以下SQL语句: SELECT * FROM `performance_schema`.`events_statements_summary_by_digest` WHERE SCHEMA_NAME=’your_db_…

    database 2023年5月19日
    00
  • Mysql查询日期timestamp格式的数据实现

    当我们查询MySQL数据库中的日期数据时,通常情况下我们要处理的日期数据是以timestamp格式存储的。如何正确地查询和处理timestamp格式的数据呢?下面我们来详细讲解。 什么是timestamp格式的日期数据? 在MySQL中,timestamp格式的数据是一种表示日期时间的数据类型。其可以存储从’1970-01-01 00:00:01′ UTC到…

    database 2023年5月22日
    00
  • LINUX下Oracle数据库用户创建方法详解

    LINUX下Oracle数据库用户创建方法详解 介绍 在LINUX下安装Oracle数据库后,需要创建数据库用户来进行数据库访问和管理,本文将详细讲解LINUX下Oracle数据库用户创建的方法。 步骤 1. 登录Oracle数据库 在LINUX下登录Oracle数据库需要使用SQL*Plus命令行工具,打开终端并输入以下命令: sqlplus / as s…

    database 2023年5月21日
    00
  • Oracle Decode()函数使用技巧分享

    Oracle Decode()函数使用技巧分享 Oracle的Decode()函数是一种非常强大的数据转换函数,可以根据给定的条件在多个选项中进行选择,并返回匹配的值。在本篇攻略中,我们将讲解如何使用Decode()函数完成常见的数据转换任务,并提供两个使用示例。 函数介绍 Decode()函数的语法如下: DECODE(expr, search1, res…

    database 2023年5月21日
    00
  • linux环境部署及docker安装redis的方法

    Linux环境部署及Docker安装Redis的方法 环境准备 一台Linux服务器:本文以Ubuntu 18.04为例 已安装Docker的服务器 步骤一:拉取Redis镜像 在Linux服务器上执行以下命令拉取Redis镜像: docker pull redis 步骤二:启动Redis容器 在Linux服务器上执行以下命令启动Redis容器: docke…

    database 2023年5月22日
    00
  • laravel博客(基础篇 –mysql)

    1、数据库的引入   使用数据库需要先引入DB类, use Illuminate\support\Facades\DB;   在.env中配置好用户名密码以及数据库前缀,格式为: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=blog DB_USERNAME=root DB_PA…

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