阿里云的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图片上传程序
Mar 27 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP中文件上传的一个问题
Sep 04 PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
Symfony2联合查询实现方法
Mar 18 PHP
初识ThinkPHP控制器
Apr 07 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
PHP实现Huffman编码/解码的示例代码
Apr 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读取msn上的用户信息类
2008/12/05 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
详解Angular如何正确的操作DOM
2018/07/06 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
python3.6编写的单元测试示例
2019/08/17 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
行政人事专员岗位职责
2014/03/05 职场文书
解除财产保全担保书
2014/05/20 职场文书
项目申请汇报材料
2014/08/16 职场文书
小学家长学校培训材料
2014/08/24 职场文书
网络研修心得体会
2016/01/08 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python