阿里云的WindowsServer2016上部署php+apache


Posted in PHP onJuly 17, 2018

一、说明:项目需要在阿里云的WindowsServer2016上部署web环境,已经安装了Mysql,所以就不用一键安装(如phpstudy或者wamp来安装web环境了),就独立安装了Apache和PHP

二、安装

1、按照链接下载好这3个东西,根据你的系统是32位还是64位来下载,我的环境是64位的

参考下载地址

VC2015(建议,因为VC2012可能会缺少某些dll)

Apache

PHP(这里注意的是需要下载不要Non版本的,non-thread-safe 是非线程安全与IIS 搭配环境,而thread-safe线程安全与apache 搭配的 环境)

2、在WindowsServer2016里安装VC,直接打开vcredist_x64.exe安装

阿里云的WindowsServer2016上部署php+apache

3、安装PHP,解压到某个盘,比如我的E盘,修改下文件名变成php56

阿里云的WindowsServer2016上部署php+apache

阿里云的WindowsServer2016上部署php+apache

4、找到系统变量修改

阿里云的WindowsServer2016上部署php+apache

阿里云的WindowsServer2016上部署php+apache

5、将E:\php56\php.ini-production 复制一份,并重命名为php.ini ,编辑php.ini文件

开启一些需要的扩展,修改完成保存

;extension_dir = "ext" => extension_dir = "E:\php56\ext" (去掉extension前面的分号,并把右边改成你安装PHP的ext路径,否则会加载扩展不成功)

;extension=php_mbstring.dll => extension=php_mbstring.dll

;extension=php_mysql.dll => extension=php_mysql.dll

;extension=php_mysqli.dll => extension=php_mysqli.dll

;extension=php_curl.dll => extension=php_curl.dll

;extension=php_pdo_mysql.dll => extension=php_pdo_mysql.dll

实例:

阿里云的WindowsServer2016上部署php+apache

6、cmd命令查看是否成功:php -v,下面代表成功

阿里云的WindowsServer2016上部署php+apache

7、安装Apache,先解压文件也放到E盘,重命名成Apache24

阿里云的WindowsServer2016上部署php+apache

8、打开Apache的httpd.conf文件进行配置

阿里云的WindowsServer2016上部署php+apache

修改:(E是我安装的盘)

阿里云的WindowsServer2016上部署php+apache

开启服务

阿里云的WindowsServer2016上部署php+apache

目录文件,你也可以放在其它文件夹,我保留放在htdocs这里

阿里云的WindowsServer2016上部署php+apache

允许访问的后缀文件

阿里云的WindowsServer2016上部署php+apache

修改e,默认是c

阿里云的WindowsServer2016上部署php+apache

阿里云的WindowsServer2016上部署php+apache

最后在结束哪里加上这几句

阿里云的WindowsServer2016上部署php+apache

9、安装完成,点击启动

启动cmd,进入e:\Apache24\bin\  (你的Apache安装目录) 

执行 httpd -k install(用PowerShell 无法执行这个命令)

阿里云的WindowsServer2016上部署php+apache

执行完毕后点击启动

阿里云的WindowsServer2016上部署php+apache

10、如果顺利的话会出现Apache的启动页面,说明你的安装已经完成了

阿里云的WindowsServer2016上部署php+apache

11、检查,写个phpinfo.php文件访问,正常

阿里云的WindowsServer2016上部署php+apache

三、问题总结,上面的结果只是顺利的情况下得到的,如果不顺利的话可能会遇到下面的一些坑

1、本地访问可以,但是外部访问失败

阿里云的WindowsServer2016上部署php+apache

遇到这种情况很有可能是你的端口没开放权限,用telnet试一下,如果出现下图则表示是端口没有开放(我使用的是80端口)

阿里云的WindowsServer2016上部署php+apache

解决:登陆你的阿里云服务器设置,如下面例子,设置端口开发即可以访问

阿里云的WindowsServer2016上部署php+apache

阿里云的WindowsServer2016上部署php+apache

阿里云的WindowsServer2016上部署php+apache

2、VC安装成了2012版本,可能会丢失某些dll文件

阿里云的WindowsServer2016上部署php+apache

解决方法:

去下载缺少的插件放到C盘

阿里云的WindowsServer2016上部署php+apache

如果还不行的话建议还是先去卸载之前安装的VC2012,然后再重新下载VC2015安装

阿里云的WindowsServer2016上部署php+apache

3、PHP安装成了Non版本,可能会导致无法启动

阿里云的WindowsServer2016上部署php+apache解决:

先把PATH设置的变量清除掉,然后再下载一份完整的PHP非Non版本的覆盖之前那个,重启电脑,重新设置PATH变量(如果还不行就把VC也卸载掉,再重启走一边流程)

4、php.ini的扩展失效,已经确认了php.ini文件开启了mysql和mysql_pdo等扩展,用phpinfo查看加载路径也是正确的,但是就是没有加载到这些扩展

阿里云的WindowsServer2016上部署php+apache

解决:查看你的php.ini的extension_dir,因为默认的是extension_dir="ext",当你的PHP装在了其它地方就要跟着修改路径,比如我的是在E:\php56\ext

阿里云的WindowsServer2016上部署php+apache

修改后

阿里云的WindowsServer2016上部署php+apache

PHP 相关文章推荐
PHP文件下载类
Dec 06 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
PHP 简单数组排序实现代码
Aug 05 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
php程序总是提示验证码输入有误解决方案
Jan 07 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
php5与php7的区别点总结
Oct 11 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 #PHP
PHP 爬取网页的主要方法
Jul 13 #PHP
php实现微信发红包功能
Jul 13 #PHP
Yii2框架redis基本应用示例
Jul 13 #PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 #PHP
Yii框架日志记录Logging操作示例
Jul 12 #PHP
php unlink()函数使用教程
Jul 12 #PHP
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
php函数式编程简单示例
2019/08/08 PHP
用JavaScript隐藏控件的方法
2009/09/21 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
小程序实现列表删除功能
2018/10/30 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
Python算法应用实战之栈详解
2017/02/04 Python
详解python eval函数的妙用
2017/11/16 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python实现视频压缩功能
2020/12/18 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
巴西在线鞋店:Shoestock
2017/10/28 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
施工人员岗位职责
2013/12/12 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
嘉宾邀请函
2015/01/31 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
python基础之while循环语句的使用
2021/04/20 Python
详解Java实践之适配器模式
2021/06/18 Java/Android
OpenCV实现普通阈值
2021/11/17 Java/Android