阿里云Win2016安装Apache和PHP环境图文教程


Posted in PHP onMarch 11, 2018

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

二、安装

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

参考下载地址

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

https://www.microsoft.com/en-US/download/details.aspx?id=48145

Apache

http://www.apachelounge.com/download/

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

http://windows.php.net/download/

阿里云Win2016安装Apache和PHP环境图文教程

下载完成

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

阿里云Win2016安装Apache和PHP环境图文教程

4、找到系统变量修改

阿里云Win2016安装Apache和PHP环境图文教程

阿里云Win2016安装Apache和PHP环境图文教程

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

实例:

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

开启服务

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

允许访问的后缀文件

阿里云Win2016安装Apache和PHP环境图文教程

修改e,默认是c

阿里云Win2016安装Apache和PHP环境图文教程

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

9、安装完成,点击启动

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

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

阿里云Win2016安装Apache和PHP环境图文教程

执行完毕后点击启动

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

阿里云Win2016安装Apache和PHP环境图文教程

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

解决方法:

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程解决:

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

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

阿里云Win2016安装Apache和PHP环境图文教程

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

阿里云Win2016安装Apache和PHP环境图文教程

修改后

阿里云Win2016安装Apache和PHP环境图文教程

PHP 相关文章推荐
我的群发邮件程序
Oct 09 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
WordPress自定义时间显示格式
Mar 27 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 PHP
PHP封装的完整分页类示例
Aug 21 PHP
在laravel中使用with实现动态添加where条件
Oct 10 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 PHP
Yii2 中实现单点登录的方法
Mar 09 #PHP
php中输出json对象的值(实现方法)
Mar 07 #PHP
php 读写json文件及修改json的方法
Mar 07 #PHP
php读取本地json文件的实例
Mar 07 #PHP
PHP中in_array的隐式转换的解决方法
Mar 06 #PHP
php连接MSsql server的五种方法总结
Mar 04 #PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 #PHP
You might like
关于PHP文件的自动运行方法分析
2016/05/13 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
常见的软件开发流程有哪些
2015/11/14 面试题
2014年最新版离婚协议书范本
2014/11/25 职场文书
小学四年级学生评语
2014/12/26 职场文书
幼儿园辞职信
2015/05/13 职场文书
元宵节晚会主持词
2015/07/01 职场文书
小学英语教学反思范文
2016/02/15 职场文书