Windows平台安装Apache2.4+PHP7+MySQL5.7安装经验

基本说明

  • 软件版本:Apache2.4+PHP7+MySQL5.7 (MySQL Workbench可选)
    (尤其是PHP7对于安装的影响比较大,因为旧的教程并没有更新一些细节)
  • 电脑环境:Java1.8.0+MinGW

重点问题

本文解决了以下多个问题,如果您的问题不被包含,您可以参考其他博主的文章。

  • 全部使用下载压缩包的方式安装配置(除了MySQL Workbench)
  • 各个软件同一版本不同系列的推荐
  • 减少不必要的操作(包扩减少环境变量的配置与减少配置文件的修改量)
  • 主要针对64位电脑进行说明,尽可能使用64软件
  • Apache 因VC++环境缺失而无法启动
  • 443端口冲突导致Apache无法启动(检测与部分解决方案)
  • Apache因配置不当出现 403 Forbidden(You don’t have permission to access / on this server.)
  • MySQL Workbench 因VC++环境缺失而无法安装
  • MySQL数据库root帐号的初始密码
  • PHP7配置正确却连不上MySQL数据库(Fatal error: Call to undefined function mysql_connect())

软件下载

Apache安装

  1. 下载并解压文件
  2. 修改“Apache.conf”行数为大致的行数,请根据自身情况进行调整。
#Line38-39
#Software installation directory
Define SRVROOT "C:\ProgramZIP\Apache24"
ServerRoot "${SRVROOT}"

#Line74
#Solve the 403 problem(Part 1)
LoadModule access_compat_module modules/mod_access_compat.so    

#Line183-187
# php7 support
LoadModule php7_module "C:/ProgramZIP/php-7.1.9/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir "C:/ProgramZIP/php-7.1.9"

#Line236-241
#Solve the 403 problem(Part 2)
<Directory />                           
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>

#Line284-289
#Set alias for development(Optional)
Alias /php "D:/Workspace/Development/PHP"
<Directory "D:/Workspace/Development/PHP">
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>

3.安装调试Apache
该步操作需要在有管理员权限的命令行中执行,,注意当前路径的选择。
第一行是安装注册apache的命令,第二步是启动apache的命令。
如果第二行启动失败,可以执行第三行,以检查在启动过程中何处出现问题。

C:\ProgramZIP\Apache24\bin>  httpd.exe -k install
C:\ProgramZIP\Apache24\bin>  net start apache
C:\ProgramZIP\Apache24\bin>  httpd.exe -n "apache" -t

443端口占用

如果出现提示443端口被占用,可以通过命令netstat -aon|findstr "443"查看是哪个软件占用了该端口,视情况调整或关闭该软件(不推荐修改apache配置绕过该问题)。
本人在该情况下发现是VMware占用了该端口,在”VMware->编辑->首选项->共享虚拟机”中可以修改该设置,所以我这边443端口被占用的情况就被解决了。

效果

至此我们已经完成了Apache的安装,可以通过安装目录下的”ApacheMonitor.exe”启动Apache服务器
通过127.0.0.1访问到测试首页。
Appache

MySQL安装

1.下载并解压文件
2.添加环境变量C:\ProgramZIP\mysql-5.7.19\bin表示安装目录下的bin文件夹,请自行调整路径。
(理论上不配置环境变量也可以实现数据互通,但是不添加环境变量用命令行执行操作就很麻烦)
3.在安装目录中创建”my.ini”文件,用记事本编辑该文件,”basedir”是安装目录,”datadir”是数据库存放的文件夹(该文件夹的路径可自定义,但是必须是空的data文件夹)

[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
basedir=C:/ProgramZIP/mysql-5.7.19
datadir=D:/SQLDatabase/MySQL/data

4.安装调试MySQL
该步操作需要在有管理员权限的命令行中执行,注意当前路径的选择。
第一步为初始化数据库,第二步为注册服务,第三步为开启服务。

C:\ProgramZIP\mysql-5.7.19\bin>  mysqld --initialize
C:\ProgramZIP\mysql-5.7.19\bin>  mysqld -install MySQL
C:\ProgramZIP\mysql-5.7.19\bin>  net start MySQL

5.修改MySQL数据库密码
在自己创建的data文件夹中有一个名叫“XXXXXX.err”的文件,用记事本打开该文件。
找到”A temporary password is generated for root@localhost:”一行
该行最后的随机字符就是新建的MySQL数据库root帐号的默认密码。
然后在命令行中执行命令

C:\ProgramZIP\mysql-5.7.19\bin>mysql -u root -p
Enter password: ************
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Workbench

如果你安装了Workbench,此时可以开启软件连接到MySQL数据库,并进行操作,附图。
workbench

PHP安装

1.下载并解压文件
2.将”php.ini-development”文件复制一份并命名为”php.ini”,用记事本打开并修改。
ext文件夹路径需要根据自身情况做出调整,另外仅需要加载两个模块即可。

extension_dir = "C:/ProgramZIP/php-7.1.9/ext"   #Line738
extension=php_mysqli.dll            #Line905
extension=php_pdo_mysql.dll         #Line909

3.保存文件,重启Apache

PHP测试

信息页面测试

测试代码

<?php
        phpinfo();
?>

测试效果
这里写图片描述

连接数据库测试

注意各教程版本
本文使用的是PHP7
应使用测试代码

<?php
        $host = "127.0.0.1"; //mysql主机地址
        $user = "root"; //mysql 登录账户
        $pwd = "mypassword"; //mysql登录密码
        $conn = new mysqli($host, $user, $pwd); //连接数据库
        if (!$conn) {//判断
            echo '连接数据库失败: ' . mysql_error();
        }
        echo "mysql 连接成功!";
        mysqli_close($conn); // 关闭mysql连接
?>

而不是旧的

<?php
        $host = "127.0.0.1"; //mysql主机地址
        $user = "root"; //mysql 登录账户
        $pwd = "mypassword"; //mysql登录密码
        $conn = mysql_connect($host, $user, $pwd); //连接数据库
        if (!$conn) {//判断
            echo '连接数据库失败: ' . mysql_error();
        }
        echo "mysql 连接成功!";
        mysql_close(); // 关闭mysql连接
?>

区别在于

$conn = new mysqli($host, $user, $pwd);           $conn = mysql_connect($host, $user, $pwd);
mysqli_close($conn);                               mysql_close();
  • 1
  • 2

测试页面
Test
这可是PHP7呀,语法都不一样了,旧的方法已经不能用了,
肯定会报Fatal error: Call to undefined function mysql_connect()

网上各种大佬又是添加环境变量,又是下载dll,又是把dll放在system里的,
我有一句mmp不知道当不当讲,一个这么出色的软件安装怎么可能那么繁琐??
很少有软件安装还需要对系统文件夹进行修改的,至少我没见过。
你们完全就是误人子弟,把PHP5的文件强行搬到PHP7里用。
呸,就知道抄,都不知道试试。
脑子是个好东西。

 

 

1.首先下载Apache2.4并且解压安装:
用管理员命令打开cmd命令 cd到Apache bin目录下,输入:httpd -k install -n apache2.4
PS:如果安装失败,查看是不是端口占用问题,cmd命令netstat -ano 查看占用端口pid,并且结束掉占用进程

启动Apache:cmd命令 cd 到Apache bin目录下输入:net start
apache2.4
PS:如果启动失败,查看有没有修改80端口为其他端口,找到Apache 目录下的配置文件httpd.conf 修改Listen 80 位其他端口

2.安装php7.0并且解压

3.配置Apache
打开Apache的配置文件 httpd.conf

更改Apache所在目录
Define SRVROOT “F:\lamp\Apache24”

更改web网站根目录
DocumentRoot “${SRVROOT}/htdocs”

找到这一行,在后面添加
PHPIniDir "F:\lamp\php-7.2.0-Win32-VC15-x64"//你的php路径
LoadModule php7_module "F:\lamp\php-7.2.0-Win32-VC15-x64\php7apache2_4.dll"//你的php后面的文件
AddType application/x-httpd-php .php

4.配置php7.0
打开PHP7.0目录下的配置文件复制php.ini-development 为php.ini文件,
找到extension_dir,并且修改为extension_dir = “F:\lamp\php-7.2.0-Win32-VC15-x64\ext”//php的扩展目录 并且修改成如下
开启的服务支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值