阿里云的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 db类库进行数据库操作
Mar 19 PHP
优化PHP代码技巧的小结
Jun 02 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
PHP中数组的分组排序实例
Jun 01 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
php实现遍历多维数组的方法
Nov 25 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
php layui实现前端多图上传实例
Jul 30 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 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
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
js继承的实现代码
2010/08/05 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python自动安装pip
2014/04/24 Python
python中List的sort方法指南
2014/09/01 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Python基于execjs运行js过程解析
2020/11/27 Python
Python之多进程与多线程的使用
2021/02/23 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
材料加工硕士生求职信
2013/10/10 职场文书
影视后期实训报告
2014/11/05 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
观后感的写法
2015/06/19 职场文书
消防宣传标语大全
2015/08/03 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android