参考文章 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 Safe 和 VC11 x64 Thread Safe 也有区别,如果是 IIS 系列,就选择带“Non Thread Safe”的版本,如果是 Apache httpd 系列,就选择带“Thread Safe”的版本(可参考 https://blog.csdn.net/lrcoop/…),这里我选择不带 no 的 64 位版本,点击 ZIP 下载压缩包,下载后先放在桌面
2、下载 Apache
下载地址:https://www.apachehaus.com/cg…
同样这里也需要注意选择版本,我选择 X64 也就是 64 位,点击那个小国旗,进入下载页面,再点击 direct link 下载,先放在桌面
3、下载 Mysql
官网地址:https://dev.mysql.com
4、在 C 盘新建一个空目录 website(意为网站), 在该目录下新建 php、Apache24、mysql 三个文件夹
5、将下载的 PHP、Apache、Mysql 压缩包解压到各自对应的文件夹内
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 文件,右键用记事本打开
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
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 回车
如果安装的 PHP x64 位版本,Apache 也需要是 x64 位版本的。然后还要将 php 目录下的 libeay32.dll、ssleay32.dll、libssh2.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 除了启动命令还有其他命令:关闭 Apache -k stop 重启 Apache httpd -k restart 卸载 Apache httpd -k uninstall 查看 Apache 版本 httpd -V 命令帮助 httpd -h
方法 2:找到 apache 目录内 bin 目录下的 ApacheMonitor.exe 文件,双击即可启动启动后,在电脑右下角可以看到 apache 的程序图标,点击打开,然后选中 Apache2.4, 点击 start
8、配置 Mysql
参考文章:http://blog.51cto.com/lusieme…
MySQL 安装文件分为两种,一种是 msi 格式的,一种是 zip 格式的。如果是 msi 格式的可以直接点击安装,按照它给出的安装提示进行安装,zip 格式是自己解压,解压缩之后其实 MySQL 就可以使用了,但是要进行配置。这里我以 zipg 格式为例,进行配置
8.1、系统环境变量配置
我的电脑 -> 属性 -> 高级 -> 环境变量
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 进入 mysql 的 bin 文件夹 (不管有没有配置过环境变量,也要进入 bin 文件夹,否则之后启动服务仍然会报错误 2) 输入 mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!)
8.4、启动 mysql 服务
继续在 cmd 中输入 net start mysql, 服务启动成功!这一步如果启动失败,而且没有任何报错,请 查看 mysql 目录下是否有 data 文件夹,如果没有在 bin 目录下打开 CMD 窗口,执行命令 mysqld –initialize, 再次启动即可
8.5、登陆 mysql
继续在 CMD 中输入指令 mysql -u root - p 可以看到是让我输入密码,我百度了一下,说是默认没有密码,直接回车就行,可是我直接按了回车,就报错了,原来在安装时,它生成了一个随机密码,但是这个密码不好找,在 data 目录下的一个.err 结尾的文件内,我用记事本打开该文件,A temporary password is generated for root@localhost: 后面的就是随机密码
我们先不管那个随机密码,我们要重置密码,但是我们没有密码进不去,没法重置,所以先要跳过密码验证
8.6 跳过密码验证
方法 1:打开刚才新建的 my.ini, 在最后一行添加 skip-grant-tables, 然后保存,这句命令意思就是跳过密码验证保存并退出 mysql, 在 CMD 继续输入 net stop mysql 回车, 关闭 mysql,或者打开任务管理器,选择服务,停止运行 mysql 方法 2:(经测试,该方法在 mysql8.X 版本无法使用,请使用方法 1)在 bin 目录下打开 CMD 窗口,执行命令 mysqld –skip-grant-tables 回车,不要关闭该窗口,直至密码修改完毕
重启 mysql:不管方法 1 还是方法 2 都是重新在 bin 目录下打开一个 CMD 窗口,若是方法 2,切记不要关闭那个 CMD 窗口, 输入指令 net start mysql
8.7、重置密码(注意当命令行前为 mysql> 时,命令结束必须加英文分号!!!!)
登陆 mysql, 因为已经设置了跳过密码验证,所以输入密码时直接敲回车(使用指令 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’;
因为已经重置了密码,如果是修改了 my.ini 文件就可以把 my.ini 文件最后加的那句话删掉了,然后启动数据库 —》登陆 —》输入新密码