阿里云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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
php daodb插入、更新与删除数据
Mar 19 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 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中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python中list初始化方法示例
2016/09/18 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python可以用哪些数据库
2020/06/22 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
师德师风的心得体会
2014/09/02 职场文书
java版 简单三子棋游戏
2022/05/04 Java/Android