阿里云的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 正则表达式的学习探讨
Jun 06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
Jun 30 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
php相对当前文件include其它文件的方法
Mar 13 PHP
PHP 数组基本操作小结(推荐)
Jun 13 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 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读取csv文件内容的详解
2013/06/18 PHP
php 生成短网址原理及代码
2014/01/23 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
Nigma vs Liquid BO3 第一场2.13
2021/03/10 DOTA
Javascript 类与静态类的实现
2010/04/01 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
Vue实现购物车功能
2017/04/27 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
简介Python中用于处理字符串的center()方法
2015/05/18 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
秘书英文求职信范文
2014/01/31 职场文书
道路施工安全责任书
2014/07/24 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang