Tycn-与你一起分享知识

Windows Server 2012 配置PHP开发环境(php7+mysql5.7.20+apache2.4)-tycn.me

2017-11-12
Tycn
php

阅读量


Windows Server 2012 配置PHP开发环境(php7+mysql5.7.20+apache2.4)

双十一在阿里云买了个Windows Server 2012 服务器,今天在服务器上配置PHP开发环境,以下是配置过程中的步骤:

相关软件下载列表:

1.PHP 7.1 (VC14 x64 Thread Safe ) 下载地址:http://windows.php.net/downloads/releases/php-7.1.11-Win32-VC14-x64.zip

2.Apache 2.4.29 win64 (httpd-2.4.29-win64-VC14.zip)下载地址:http://www.apachelounge.com/download/VC14/binaries/httpd-2.4.29-win64-VC14.zip

3.mysql-5.7.20-winx64 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-winx64.zip

4.vc++2015(PHP7启动的时候提示丢失vcruntime140.dll文件)下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145&6B49FDFB-8E5B-4B07-BC31-15695C5A2143=1

一、软件的安装与配置

把软件下载并解压好(注:需要解压到C盘,PHP跟Apache 放在同一目录下,我放在C:/php/)

接下来开始进入安装步骤:

1、配置apache的httpd.conf文件

用Sublime Text 打开Apache24目录下的conf里的httpd.conf文件,(存放路径:C:\php\httpd-2.4.29-VC14\Apache24\conf\httpd.conf)

我们需要在httpd.conf文件中修改Apache的路径地址:

01.查找ServerRoot,把地址修改为Apache的路径。如:ServerRoot “C:/php/httpd-2.4.29-VC14/Apache24”

02.查找DocumentRoot “c:/Apache24/htdocs” ,把地址修改为Apache的路径。如:DocumentRoot “C:/php/httpd-2.4.29-VC14/Apache24”

03.查找``<Directory “c:/Apache24/htdocs”> ,把地址修改为Apache的路径。如: <Directory “C:/php/httpd-2.4.29-VC14/Apache24”>`

04.查找ScriptAlias /cgi-bin/ “c:/Apache24/cgi-bin/” ,把地址修改为Apache的路径。如:ScriptAlias /cgi-bin/ “c:/php/httpd-2.4.29-VC14/Apache24/cgi-bin”

05.查找<Directory "c:/Apache24/cgi-bin">,把地址修改为Apache的路径。如:<Directory "c:/php/httpd-2.4.29-VC14/Apache24/cgi-bin">

06.查找#ServerName www.example.com:80 ,去掉前面的#

07.查找Listen,把Listen 80 修改为:Listen 8080

08.需要在httpd.conf文件最后一行下面添加一些配置文件

# php7 support
LoadModule php7_module "C:/php/php-7.1.11/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
# configure the path to php.ini
PHPIniDir "C:/php/php-7.1.11"
#Configure http php file support
AddType application/x-httpd-php .php .html .htm

2、安装Apache服务

用Windows自带的运行命名操作(cmd.exe)或者使用cmder软件代替

进入C:/php/Apache2.4/Apache24/bin/ 目录右键打开cmder,输入:httpd -k install 然后回车

3、开启PHP常用扩展

用Sublime Text 打开Apache24目录下的conf里的httpd.conf文件,(存放路径:C:\php\php-7.1.11\php.ini-development)

01.查找 ; extension_dir = “ext”,去掉extension前面的分号

02.查找 ;extension=php_mbstring.dll ,去掉extension前面的分号,这是php多字节字符串扩展

03.查找 ;extension=php_mysql.dll,去掉extension前面的分号

04.查找 ;extension=php_mysqli.dll,去掉extension前面的分号

4、启动Apache服务

方法1:命令行输入cmd,输入services.msc,找到Apache服务启动

方法2:双击c:/phptools/Apache2.4/Apache24/bin/ApacheMonitor.exe启动

方法3:命令行启动,进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)/bin> httpd.exe -w -n “Apache2.4” -k start (引号中的Apache2.4修改为你的Apache服务名),这种启动方式的好处是启动失败有具体的错误地方

注:采用方法3,启动Apache服务报错提示为:

httpd: Syntax error on line 72 of 
D:/software/Apache24/conf/httpd.conf: Cannot load 
modules/mod_access_compat.so into server: 
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

从报错来看,是加载不了modules文件夹下mod_access_compat.so文件,解决方法:校对下conf/httpd.conf文件,ServerRoot,DocumentRoot等,修改的路径是不是和你放Apache文件的路径一致,修改为正确的路径后重新安装即可。

完成上述步骤且一切正常之后,打开浏览器,输入地址http://127.0.0.1:8080/,结果It works! 表示即配置成功

5、安装mysql-5.7.20-winx64

下载后需要解压,我解压到了C盘的mysql文件夹中,接下来开始用cmder软件安装mysql-5.7.20

01.修改配置文件: 打开解压的文件夹(我的配置文件位置 C:\mysql\mysql-5.7.20-winx64),新建一个my.ini 文件,新建data文件夹

my.ini添加以下内容:

[mysql]

# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-grant-tables
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=C:\mysql\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 

注意:basedir=你自己的mysql安装路径; ​ datadir=mysql所在目录\data;

02.进入C:\mysql\mysql-5.7.20-winx64\bin 文件夹,右键打开cmder

依次输入:

  1. 安装命令: ` mysqld -install`
  2. 安装成功后,输入: mysqld --initialize
  3. 启动mysql服务: net start mysql
  4. 启动之后,别关闭当前cmd,直接输入mysql,进入mysql后,输入下列语句设置用户密码: mysql> update mysql.user set authentication_string=password('你要设置的密码') where user='root'
  5. 设置完成,exit退出mysql,关闭cmd窗口,接着打开my.ini文件,将skip-grant-tables注释掉: #skip-grant-tables,保存文件,打开cmd窗口(管理员方式打开),net stop mysql停止mysql服务,再用 net start mysql重新启动mysql服务。
  6. 在cmd窗口下,输入mysql -u root -p 输入刚刚设置的密码进行登录
  7. 登录成功,输入mysql> SET PASSWORD = PASSWORD('your_new_password');然后输入show databases;查看当前所有数据库
  8. 到此所有配置完成。

注:如果觉得命令形式的MySQL难操作,可安装可视化的MySQL管理工具,软件名称:Navicat

二、IIS8配置PHP环境

1.打开Internet信息服务(IIS)管理器

2.中间窗口选择“处理程序映射”双击,然后最右边选择“添加模块映射”

​ 请求路径填写:*.php

​ 模块选择:FastCgiModule

​ 可执行文件:找到PHP的安装目录C:\php\php-7.1.11,右下角的文件类型改为“exe”即可看到“php-cgi.exe”文件出现了

3.中间窗口选择“默认文档”双击,给网站添加默认文档:default.php和index.php。

4.在C:\inetpub\wwwroot 目录下新建一个index.php文件(内容写上“”)然后再在浏览器中打开“localhost/index.php”,出现PHP版本介绍界面表示配置成功。

三、测试环境,搭建Discuz论坛

1.Discuz官网下载安装包,下载地址:http://download.comsenz.com/DiscuzX/3.4/Discuz_X3.4_SC_UTF8.zip

2.上传到服务器C:\inetpub\wwwroot 目录里并解压

3.打开IIS管理器,选择网站—>右键—>添加网站,打开后填写信息

  1. 网站名称

    随便你填写,建议用英文

  2. 物理路径

    选择网站文件路径

  3. 绑定服务器公网IP

    服务器公网IP

  4. 主机名

    多个网站的情况下,用来区别

4.点击最右边的编辑权限

  1. 点击安全,在组或用户名中选择:IIS_IUSRS

    如果没有IIS_IUSRS 需要手动添加,方法如下:

    ​ 01.点击安全,点击编辑

    ​ 02.点击添加

    ​ 03.点击高级

    ​ 04.点击立即查找

    ​ 05.找到以 IIS_IUSERS 开头的名称,并选择它,一路点确定

    ​ 06.点击确定

  2. 点击编辑

  3. 在组或用户名中选择:IIS_IUSRS

  4. 在IIS_IUSRS 的权限里把修改打上勾

  5. 点击确定

四、MySQL命令行导出数据库

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin

(或者直接将windows的环境变量path中添加该目录)

2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)

(如果导出单张表的话在数据库名后面输入表名即可)

3、会看到文件news.sql自动生成到bin文件下

命令行导入数据库

1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p

如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)

4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库 5,输入:mysql>use 目标数据库名

如我输入的命令行:mysql>use news;

6,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source news.sql;

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

备份数据库: **进入cmd 导出所有数据库:输入:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径] 导出数据和数据结构:输入:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径] 例子:mysqldump -u root -p test>d:\test.sql 注意:此备份只备份数据和数据结构,没有备份存储过程和触发器 只导出数据不导出数据结构:输入:mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保存路径] **导出数据库中的Events **输入:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径] **导出数据库中的存储过程和函数 **mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径] **导入数据库 mysql -u root -p<[备份文件的保存路径] 疑问 *恢复备份文件: **进入MYSQL Command Line Client 先创建数据库:create database test 注:test是创建数据库的名称 再切换到当前数据库:use test 再输入:. d:/test.sql 或 souce d:/test.sql **1. 概述 MySQL数据库的导入,有两种方法: **1) 先导出数据库SQL脚本,再导入; 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 **2. 方法一 SQL脚本形式 **操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。 2.1.1 用phpMyAdmin工具 导出选项中,选择导出“结构”和“数据”,不要添加“Drop DATABASE”和“Drop TABLE”选项。 选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。 将导出的SQL文件保存下来。 2.1.2 用mysqldump命令行 命令格式 mysqldump -u用户名 -p 数据库名 > 数据库名.sql 范例: mysqldump -uroot -p abc > abc.sql (导出数据库abc到abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 2.2. 创建空的数据库 通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 2.3. 将SQL脚本导入执行 同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。 2.3.1 用phpMyAdmin工具 从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。 在”SQL”菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。 注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件 比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。 gzip使用方法: # gzip xxxxx.sql 得到 xxxxx.sql.gz文件。 2.3.2 用mysql命令行 命令格式 mysql -u用户名 -p 数据库名 < 数据库名.sql 范例: mysql -uabc_f -p abc < abc.sql (导入数据库abc从abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 3 方法二 直接拷贝 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。 3.1 准备原始文件 用tar打包为一个文件 3.2 创建空数据库 3.3 解压 在临时目录中解压,如: cd /tmp tar zxf mydb.tar.gz 3.4 拷贝 将解压后的数据库文件拷贝到相关目录 cd mydb/ cp * /var/lib/mysql/mydb/ 对于FreeBSD: cp * /var/db/mysql/mydb/ 3.5 权限设置 将拷贝过去的文件的属主改为mysql:mysql,权限改为660 chown mysql:mysql /var/lib/mysql/mydb/ chmod 660 /var/lib/mysql/mydb/*

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

赞赏支持

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦


评论