1

参考文章1:(原文有坑,我会讲到)
https://yq.aliyun.com/article...
参考文章2:https://www.cnblogs.com/cyrfr...
阿里云服务器版本:Windows Server 2016 数据中心版 64位中文版
下载软件:PHP、Apache、Mysql

1、下载PHP

下载地址:(这里下载的是5.6版本,7.0高级版本需要下载VC14)

这里需要注意,要根据你的电脑系统版本选择,还有VC11 x64 Non Thread SafeVC11 x64 Thread Safe也有区别,如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“Thread Safe”的版本(可参考https://blog.csdn.net/lrcoop/...),这里我选择不带no的64位版本,点击ZIP下载压缩包,下载后先放在桌面
image.png
image.png

image.png

2、下载Apache

下载地址:https://www.apachehaus.com/cg...

同样这里也需要注意选择版本,我选择X64也就是64位,点击那个小国旗,进入下载页面,再点击direct link下载,先放在桌面
image.png
image.png

3、下载Mysql

官网地址:https://dev.mysql.com
image.png
image.png
image.png
image.png
image.png

4、在C盘新建一个空目录website(意为网站),在该目录下新建php、Apache24、mysql三个文件夹

image.png
image.png

5、将下载的PHP、Apache、Mysql压缩包解压到各自对应的文件夹内

image.png
image.png
image.png

6、配置PHP

将 PHP 的根目录下的 php.ini-development 或者 php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件,用记事本打开
注意:
1、ini文件的注释是分号(英文分号),所以取消注释就删除分号,也就是修改的每条内容要删掉前面的分号才生效;
2、${phphome}是PHP的根目录,配置文件中写成绝对路径。

6.1修改拓展文件路径(注意删掉前面的分号),此处C:\website\php\ext路径要按照自己安装路径填写

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
 extension_dir = "C:\website\php\ext"

6.2添加需要加载的扩展文件,其实就是去掉前面的分号即可(根据需要添加)

extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
;extension=php_shmop.dll

6.3设置默认的时区

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

6.4设置 ssl(安全证书) :

[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
openssl.cafile= cacert.pem

7、配置Apache,让PHP 和 Apache 协同工作

在apache24文件内按照此路径C:\website\Apache24\conf找到httpd.conf文件,右键用记事本打开
image.png

7.1修改apache的安装路径,这里要根据自己安装的位置填写

Define SRVROOT "C:\website\Apache24"
ServerRoot "${SRVROOT}"

7.2修改项目存放路径,这里我们没有修改,就使用默认的,${SRVRROOT}就是我们上一步设置的路径

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

7.3修改默认端口号(也可以不修改),我这里将80改为了8081

#Listen 12.34.56.78:80
Listen 8081

7.4修改ServerName

ServerName localhost:8081
上面这两步有个坑,就是我修改端口号之后,无法通过域名访问,搞了大半天,最后找到了原因,是因为8081没有在阿里云控制台的安全组入方向中添加,添加以后就好了,需要注意的是,只有默认的80端口可以省略,修改为8081后,每次必须加上域名,例如www.xxx.com:8081
image.png
image.png
image.png
image.png

7.5修改默认索引文件,三个,就是当我们输入网址或localhost:8081之后,会默认依次寻找index.html、index.php、index.htm,并打开

<IfModule dir_module>
    DirectoryIndex index.html index.php index.htm
</IfModule>

7.6让Apache加载PHP模块,将以下代码添加在最后面,PHP版本如果是5添加第一段,7添加第二段

LoadModule php5_module为php文件夹中php5apache2_4.dll 的具体路径,根据自己安装路径填写 PHPIniDir为PHP安装目录,也是根据自己安装路径填写

#php5.6
LoadModule php5_module C:/website/php/php5apache2_4.dll 
<IfModule php5_module> 
    PHPIniDir "C:/website/php/" 
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule php7_module> 
    PHPIniDir "C:/website/php/" 
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

7.7将apache注册为win的服务或(安装Apache的主服务,有了它,Apache才可启动)

在apache的安装目录下的bin目录内打开CMD命令窗口C:\website\Apache24\bin,并输入指令httpd -k install回车
image.png

如果安装的PHP x64位版本,Apache也需要是x64位版本的。然后还要将php目录下的libeay32.dllssleay32.dlllibssh2.dll以及ext目录下的php_curl.dll等四个文件,都复制放到C:/Windows/System32目录下。否则curl扩展无法使用。参考链:http://my.oschina.net/lsfop/b... 。未做验证,只是照做,正常显示。

7.8启动Apache服务器

方法1:
在apache的安装目录下的bin目录内打开CMD命令窗口,输入指令httpd -k start,然后地址栏输入www.XXX.com:8081(若未修改端口号可以不加:8081)或者localhost:8081
image.png
除了启动命令还有其他命令:
关闭Apache -k stop
重启Apache httpd -k restart
卸载Apache httpd -k uninstall
查看Apache版本 httpd -V
命令帮助 httpd -h

方法2:
找到apache目录内bin目录下的ApacheMonitor.exe文件,双击即可启动
image.png
启动后,在电脑右下角可以看到apache的程序图标,点击打开,然后选中Apache2.4,点击start
image.png
image.png
image.png

8、配置Mysql

参考文章:http://blog.51cto.com/lusieme...

MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装,zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。这里我以zipg格式为例,进行配置

8.1、系统环境变量配置

我的电脑->属性->高级->环境变量
image.png
image.png

8.2、修改配置文件

参考文章:https://www.cnblogs.com/wangj...
在mysql文件夹中找到my-default.ini,如果没有自己建立一个my.ini文件,在其中修改或添加配置:(具体路径根据自己的安装填写)

[mysqld] 

basedir=C:\website\mysql

datadir=C:\website\mysql\data

8.3、安装mysql

以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),
输入:cd C:\website\mysql\bin 进入mysqlbin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)
输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)
image.png

8.4、启动mysql服务

继续在cmd中输入net start mysql,服务启动成功!
image.png
这一步如果启动失败,而且没有任何报错,请 查看mysql目录下是否有data文件夹,如果没有在bin目录下打开CMD窗口,执行命令mysqld --initialize,再次启动即可

8.5、登陆mysql

继续在CMD中输入指令mysql -u root -p
image.png
image.png
可以看到是让我输入密码,我百度了一下,说是默认没有密码,直接回车就行,可是我直接按了回车,就报错了,原来在安装时,它生成了一个随机密码,但是这个密码不好找,在data目录下的一个.err结尾的文件内,我用记事本打开该文件,A temporary password is generated for root@localhost:后面的就是随机密码
image.png

我们先不管那个随机密码,我们要重置密码,但是我们没有密码进不去,没法重置,所以先要跳过密码验证

8.6跳过密码验证

方法1:打开刚才新建的my.ini,在最后一行添加skip-grant-tables,然后保存,这句命令意思就是跳过密码验证
image.png
保存并退出mysql,在CMD继续输入net stop mysql回车,关闭mysql,或者打开任务管理器,选择服务,停止运行mysql
image.png

方法2:(经测试,该方法在mysql8.X版本无法使用,请使用方法1)在bin目录下打开CMD窗口,执行命令mysqld --skip-grant-tables 回车,不要关闭该窗口,直至密码修改完毕
image.png

重启mysql:
不管方法1还是方法2都是重新在bin目录下打开一个CMD窗口,若是方法2,切记不要关闭那个CMD窗口,输入指令net start mysql
image.png

8.7、重置密码(注意当命令行前为mysql>时,命令结束必须加英文分号!!!!)

登陆mysql,因为已经设置了跳过密码验证,所以输入密码时直接敲回车
image.png
(使用指令use mysql进入数据库设置,使用指令update user set password=password("你的新密码") where user="root";设置新密码,输入指令flush privileges,刷新数据库,输入指令quit退出,使用net stop mysql关闭mysql)
注意:这里有坑了,我按照上面的修改密码指令执行后,发现没有反应,原文下面有一行文字,说明修改成功的,百度了好久,刚开始意为少了后面那个分号,后来加上也不行,最后终于找到了一片文章,原来是8版本问题,使用的不是这个指令,是新指令 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
image.png

因为已经重置了密码,如果是修改了my.ini文件就可以把my.ini文件最后加的那句话删掉了,然后启动数据库---》登陆---》输入新密码
image.png


月半小夜曲
132 声望8 粉丝