原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置

一、说明

  以前配置apache+php+mysql都是参考网上的,一般都没有什么问题。最近公司有个任务需要在工作电脑上配置apache+php+mysql, 于是到它们的各个官网上下载了最新的版本,按照网上一步一步走,但是发现并没有那么顺利,中间出了各种问题,到处找资料,还好最后都解决了,现在写下来给大家参考一下。

  apache: http://httpd.apache.org/download.cgi   version: 2.4.18

  php: http://www.php.net/downloads.php   version: 7.0.2

  mysql: http://dev.mysql.com/downloads/mysql/   version: 5.7.10

  如图:

  

二、配置

1.php配置

  首先,由于php7.0.2是用vc14编译,所以需要vc14的支持,如果您的电脑安装了vs2015则可忽略,否则你需要到这里https://www.microsoft.com/en-US/download/details.aspx?id=48145下载vc14,如下图所示:

  

  然后,将php目录下的php.ini-development文件复制一份,并重新命名为php.ini作为php的默认配置文件,按以下步骤进行修改:

a.添加扩展

  只需去掉相应行前面的";"

  extension=php_curl.dll

  extension=php_gd2.dll

  extension=php_mbstring.dll

  extension=php_mysqli.dll

  extension=php_pdo_mysql.dll

  extension=php_pdo_odbc.dll

  extension=php_xmlrpc.dll

b.配置目录

  修改扩展目录,请提前在php目录下创建custom文件夹,然后在custum文件夹下再创建两个子文件夹,分别为upload和session

  ; On windows:
  extension_dir = "D:/Program Files/apmServer/php-7.0.2-Win32-VC14-x64/ext"

    修改上传目录

  ; http://php.net/upload-tmp-dir
  upload_tmp_dir ="D:/Program Files/apmServer/php-7.0.2-Win32-VC14-x64/custom/upload"

  修改session目录

  session.save_path = "D:/Program Files/apmServer/php-7.0.2-Win32-VC14-x64/custom/session"

2.apache配置

  打开apache目录下conf文件夹中的http.conf文件,按以下步骤修改配置:

a.设置apache服务器根目录

  Define SRVROOT "D:/Program Files/apmServer/httpd-2.4.18-x64-vc11/Apache24"
  ServerRoot "${SRVROOT}"

b.设置侦听端口

  Listen 80

默认是80,通过在netstat -ano命令查看系统80端口是否被占用,如果被占用,请更换一个没有被占用的端口

c.加载php模块

  在#LoadModule vhost_alias_module modules/mod_vhost_alias.so后面加上:

  LoadModule php7_module "D:/Program Files/apmServer/php-7.0.2-Win32-VC14-x64/php7apache2_4.dll"
  PHPIniDir "D:/Program Files/apmServer/php-7.0.2-Win32-VC14-x64/"
  AddType application/x-httpd-php .php .html .htm

注意:这里要是加载的php7模块

d.安装apache服务

  以管理员身份打开命令行cmd,进入apache的bin目录,输入命令:httpd -k install -n apache24, 显示安装成功,但是启动出错

  查看apache日志,发现只有这一行:

  [Sat Jan 23 20:33:04.958214 2016] [ssl:warn] [pid 7236:tid 344] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name

  这是一个警告,并不是错误,似乎没有什么用

  打在服务,右键启动apache24,弹出启动失败错误提示:

  

  打开系统事件查看器查看系统日志,发现如下错误:

  

  还差最后步,这一步和其它版本不一样,我们需要给php添加环境变量,

  

  确定,启动apache24服务,成功。在浏览器里输入localhost回车

  

  如果看到这个页面,恭喜你,成功了。

3.MySQL配置

  a.修改配置文件

  将mysql目录下的my-default.ini文件复制一份,并命名为my.ini作为默认配置文件,主要配置如下: 

  [mysql]
    default-character-set=utf8

  [mysqld]

    basedir = "D:/Program Files/apmServer/mysql-5.7.10-winx64"

    datadir = "D:/Program Files/apmServer/mysql-5.7.10-winx64/data"
    port = 3306

    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

b.安装sql服务

  添加环境变量: MYSQL_HOME   值为mysql目录的路径:

  

  给系统变量Path增加值:%MYSQL_HOME%\bin;

  从命令行cmd中进入mysql目录下的bin路径,执行命令 mysqld --install,执行命令net start mysql启动mysql服务,结果失败

  这是因为mysql5.7安装包中不带data文件夹,就算我们手动创建data文件夹,mysql启动还是失败,网上说可以从低版本的mysql中拷贝过来可以,本人没试。

  但是网上还有另一种方法:执行命令mysqld --initializ既可以自动创建data文件夹及需要的初始数据,亲测过可以。

c.测试mysql

  由于上一步中使用mysqld --initializ命令产生的数据中root账户的密码是随机的,所以我们没办法直接得到root的密码,也就不能登入使用mysql

  解决方法:

  打开my.ini配置文件,在最后加上这一行:#skip-grant-tables,即使用mysql时跳过授权表,也就是无需登录也能使用mysql。保存my.ini,重新启动mysql服务。

  在命令行中输入命令mysql,回车,进入mysql

  

  修改root密码:update user set password=password('your password') where user='root';
      不要忘记写入数据库: flush privileges;

  然后退出mysql,重新登录: mysql -u root -p,输入刚才设置的密码,回车成功。

  由于mysql的安全策略,此时还不能使用该账户执行其它操作,必须得重新改一次密码才可以。

  修改密码:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');此时会让你输入旧密码才能执行。

  

  到此所有配置成功!

  总结2点与以前旧版本不一样的地方:

  1.php配置后需要增加系统变量

  2.mysql需要命令生成初始化数据,并且需要手动更改root密码   

  

win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置的更多相关文章

  1. tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...

  2. Win7 64bit下32bit的 ODBC 数据源问题

    win764位有数据源,但是如果我们在win7 64bit中使用32位的数据源的时候,我们就需要对其进行配置,很有趣的是,64为的数据源我们可以在控制面板——系统与安全——管理工具——数据源,进入可对 ...

  3. Win7系统下,docker构建nginx+php7环境实践

    前面两章介绍的是Windows系统下如何安装和配置docker,主要原因在于,公司大多人数用的是Windows环境,想通过在Windows环境上,通过docker,构建一个公用的配置. 首先要说明的是 ...

  4. Detour3.0 win7 64bit下的安装

    最近在做API hook相关的东西,用了inline hook后感觉不错,但是查找资料发现inline hook并不稳定 inline hook 的原理是在系统访问一个函数的时候先替换原函数入口处的内 ...

  5. Win7 64bit下值得推荐的免费看图软件

    自从更换到Win7 64bit后, 用了十多年的AcdSee3.x不能再正常工作了. 找到了两个替代品: Faststone Image Viewer 和 XnView Faststone Image ...

  6. windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速

    原文地址:http://www.jianshu.com/p/c245d46d43f0 写在前面的话 2016年11月29日,Google Brain 工程师团队宣布在 TensorFlow 0.12 ...

  7. 在lnmp环境下,将原来的PHP7.0升级到PHP7.2

    基础环境: 系统:centos6.8   环境:lnmp 停止PHP7.0的版本,在做如下操作: 1.下载php-7.2.6.tar.bz2软件包放在/opt 路径下 mkdir /usr/local ...

  8. linux下使用yum安装新版php7.0

    这两天又装了一下虚拟机,又要编译lnmp,还要弄各种拓展,很麻烦,能不能直接yum安装呢?答案是可以的! 1.首先要更新yum源,不然是默认的老版本,一般都在5.6及以下,但是php7都出来好久了,性 ...

  9. win7,64bit下的OpenGL着色语言(glsl)开发环境配置(原)

    一.环境准备: 系统环境win7,64位,双显卡:集成显卡+gt540m,gt540建议下载最新的驱动,可以支持到opengl4.3标准,一般双显的笔记本,程序默认启用的是集显,我机器的集显驱动有点老 ...

随机推荐

  1. 函数 sort,unique,stable_sort,count_if,谓词

    bool isShorter(const string &s1,const string &s2) { return s1.size() < s2.size(); } bool ...

  2. Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)D拿糖果

    题目描述 薯片和他的朋友薯条来到了商店,商店有n个糖果,标号依次为1,2,3....n,对应的价值为W1,W2,W3...Wn.现在薯片先拿走一个标号为a的糖果,标号小于a的糖果就被商家收回去了,然后 ...

  3. HDU1857题解(逆向思维trie)

    题目link:http://acm.hdu.edu.cn/showproblem.php?pid=1857 先简述一下题目: 有一个RXC的字母矩形,R,C在500内,要匹配m个单词,m在100000 ...

  4. OpenCV和Matplotlib色彩空间模式不一致的问题

    当用OpenCV读取彩色图像时,OpenCV是以(BGR)的顺序存储图像数据的,而Matplotlib是以(RGB)的顺序显示图像的. 可以用下面的程序来证明这一点 import cv2 import ...

  5. 使用spring手动控制事务

    http://kiral.iteye.com/blog/92742 使用spring手动控制事务 Spring事务配置的五种方式 (1) http://www.cnblogs.com/hellojav ...

  6. C# SocketHelper 源码

    玄机论坛Socket类库源码+Demo 本类库采用C# TcpLister,TcpClient高度封装,采用C# NetworkStream进行异步模式读取数据.采用C# Semaphore来进行并发 ...

  7. python学习之html从0开始(一)

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  8. 1064. Complete Binary Search Tree

    二叉排序树: http://www.patest.cn/contests/pat-a-practise/1064 #include <iostream> #include <vect ...

  9. [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(二)

    ASP.NET 请求生命周期 全局应用类也可以用来跟踪每个独立请求的生命周期,包括请求从 ASP.NET 平台传递到 MVC 框架.ASP.NET 框架会创建一个定义在 Global.asax 文件中 ...

  10. 基于SuperSocket实现的WebSocket(前端)

    本文内容是搭配后端使用的,没看过WebSocket后端实现的童鞋们戳这里 咳咳,其实前端实现相对就容易很多了,因为我们有JavaScript WebSocket Api,它看上来大致是这样的: var ...