MySQL, Apache, PHP 安装教程

Wesley13
• 阅读 722

下面的安装教程包括基本安装,以及本人在安装过程中遇到的问题及解决方法(注:本教程在Windows 64位系统下安装的)

MySQL安装

1.下载MySQL
http://rj.baidu.com/soft/detail/12585.html?ald

2.解压MySQL
将MySQL解压到指定文件夹

3.配置环境变量
计算机–>属性–>高级系统设置–>环境变量 选择系统变量下的Path 在后面追加MySQL文件里的bin文件夹路径.比如:D:\MySQL Server 5.7.12\mysql-5.7.12-winx64\bin;

4.文件配置
选择”用记事本打开该文件”打开MySQL目录下的my-default文件
查找basedir,datadir 使其分别为

//MySQL所在的目录路径
basedir = D:\MySQL Server 5.7.12\mysql-5.7.12-winx64 


//MySQL里的data文件夹的路径
datadir = D:\MySQL Server 5.7.12\mysql-5.7.12-winx64\data 

这里我遇到了data文件夹不显示的问题,解决方法:
打开cmd命令窗口,并且进入到MySQL安装目录的bin目录下, 然后输入命令:

mysqld --initialize-insecure --user=mysql

5.安装启动MySQL
打开cmd命令窗口,并且进入到MySQL安装目录的bin目录下, 然后输入命令:

mysqld -install

net start mysql

这里我遇到了mysql ERROR 1045 (28000): 错误,解决办法:
打开MySQL目录下的my-default文件在
搜索mysqld关键字
找到后,在mysqld下面添加

skip-grant-tables

保存退出重启MySQL,
然后运行cmd,输入

mysql -u root -p

出现password:的时候直接回车可以进入.
设置新密码:

UPDATE user SET Password=PASSWORD('newPwd') where USER='root'

然后再回到刚才的my-default文件将刚才加入的”skip-grant-tables”这行删除,保存退出再重启MySQL

Apache安装

1.下载Apache
http://httpd.apache.org/download.cgi
MySQL, Apache, PHP 安装教程
MySQL, Apache, PHP 安装教程
MySQL, Apache, PHP 安装教程
MySQL, Apache, PHP 安装教程
2.解压Apache
解压Apache到指定文件夹
3.配置Apache
打开Apache下的conf文件里的httpd.conf文件,找到Define SRVROOT将其右方的值改为

//Apache安装存放的目录路径
Define SRVROOT "D:\Apache"

4.安装启动Apache
运行cmd,输入:

//这里-n apache 表示将服务命名为apache,也可以为其他的
"D:\application_software\Apache\bin\httpd.exe" -k install -n apache 

正常安装完毕后会出现:

//若该句话后面有错误信息,则表示服务安装失败,需要先改正错误。若没有,则成功。
Errors reported here must be corrected before the service can be started.

打开浏览器,输入访问http://localhost.出现下图则表示成功了
MySQL, Apache, PHP 安装教程

在这里,我遇到了两个错误:
vcruntime140.dll丢失 解决方法:下载安装即可
https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
以一种访问权限不允许的方式做了一个访问套接字的尝试
原因是:端口被占用,我之前计算机上启动了iis服务.80 端口被占用了
解决方法:
要么解除占用,要么去Apache\conf\httpd.conf
找到Listen 80 将80改为其他空闲端口

PHP安装

1.下载PHP
http://php.net/downloads.php
MySQL, Apache, PHP 安装教程

MySQL, Apache, PHP 安装教程
2.解压PHP
将下载好的PHP包解压到与Apache同目录下
3.配置环境变量(这步好像可以不用)
计算机–>属性–>高级系统设置–>环境变量 选择系统变量下的Path 在后面追加 D:\PHP-7.0.7;D:\PHP-7.0.7\ext;
4.配置PHP
在apache 的conf目录下 的 httpd.conf,在<IfModule unixd_module>上面, 加入如下代码:

//路径需要自己修改
LoadModule php7_module "D:\PHP-7.0.7\php7apache2_4.dll"
<IfModule mod_php7.c>
  PHPINIDir "D:\PHP-7.0.7"
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
</IfModule>

然后将PHP安装目录下的 php.ini-development 文件复制一份, 改成php.ini,然后修改里面的extension_dir

; extension_dir = "ext"
//PHP安装目录下的ext文件的路径
extension_dir = "D:\PHP-7.0.7\ext"

5.测试是否安装成功
编写一个php文件,test.php

<?php phpinfo(); ?>

放在Apache的htdocs文件夹下,这里应该可以看到一个index.html文件(就是测试Apache是否安装成功的那个页面), 然后再访问http://localhost/test.php 如果出现下面页面则表示成功
MySQL, Apache, PHP 安装教程

在这里,我遇到了页面输出php源代码,解决方法:
将php.ini中的配置里面short_open_tag默认是off 改成on

另外:
1.启用mysql功能,在php.ini中, 解注释

extension=php_mysql.dll 
extension=php_mysqli.dll

2.构建了PHP环境后放在Apache的htdocs文件夹下,可以添加子文件夹
3.在apache中设置访问目录后进入的默认页面为index.php
找到apache的配置文件httpd.conf后找到

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

在其中添加index.php

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这