阿里云的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 26 PHP
CodeIgniter php mvc框架 中国网站
May 26 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
Jun 24 PHP
解析php中的escape函数
Jun 29 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
Laravel学习基础之migrate的使用教程
Oct 11 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
PHP基于进程控制函数实现多线程
Dec 09 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简单实现循环链表功能示例
2017/11/10 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
JS实现密码框效果
2020/09/10 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python采用Django开发自己的博客系统
2020/09/29 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
css3 矩阵的使用详解
2018/03/20 HTML / CSS
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
2014应届本科生自我评价
2014/09/13 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
行政司机岗位职责
2015/04/10 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
导游词之桂林山水
2019/09/20 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python
Java存储没有重复元素的数组
2022/04/29 Java/Android