阿里云的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常用代码
Nov 23 PHP
cache_lite试用
Feb 14 PHP
PHP Memcached应用实现代码
Feb 08 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
示例详解Laravel重置密码代码重构
Aug 10 PHP
thinkphp5实现无限级分类
Feb 18 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 OPCode缓存 APC详细介绍
2010/10/12 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHP中使用break跳出多重循环代码实例
2015/01/21 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
react-router中的属性详解
2017/06/01 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
安装python及pycharm的教程图解
2019/10/10 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
PyQt5实现画布小程序
2020/05/30 Python
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
银行授权委托书范本
2014/10/04 职场文书
2014年项目工作总结
2014/11/24 职场文书
家长给老师的感谢信
2015/01/20 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
python常见的占位符总结及用法
2021/07/02 Python