在win10里顺利安装了apache2.4.41和php7.4.29以及mysql8.0.33

一、安装apache和php

最近在学习网站搭建。其中有一项内容是在windows操作系统里搭建apache+php环境。几天前根据一本书的上的说明尝试了一下,在win10操作系统里安装这两个软件:apache2.4.41和php7.4.29,安装以后apche能正常启动,但是php没有正常工作。这两个软件需要Microsoft Visual C++运行库的支持。这两个软件根据版本的不同,有的需要Microsoft Visual C++ 2012 运行库的支持,有的需要Microsoft Visual C++ 2015运行库或其他版本的支持。我的电脑里已经安装了Microsoft Visual C++ 2013运行库和Microsoft Visual C++ 2015-2019运行库,由于为了省事,我没有安装Microsoft Visual C++ 2012运行库,这导致没有选择书上php5.6.19版本,从而导致php没有正常工作,不能在游览器里打开php文件,不能打开phpinfo.php文件。当时搜索网上资料,得到的信息是版本不同,导致配置apache配置文件http.conf和php.ini文件不正确,从而导致php不能正常工作。

最近找了一本书,书名是《PHP7从入门到精通》。这边书是2019年出版的,使用了php7.2版本。该书的第二章讲了获得PHP安装资源包,在windows10里安装IIS和PHP,以及在windows10里安装apache和PHP  。根据第二章里内容,按照安装说明,顺利安装了这两个软件,这两个软件能正常工作。

电脑CPU是64位CPU,windows10 是家庭版64位。

下载的apache是:php-7.4.29-Win32-vc15-x64.zip,从www.apache.org推荐的编译后文件下载网站之一 www.apachelounge.com网站上下载。

下载的PHP是:httpd-2.4.41-win64-VC14.zip,从www.php.net网站上下载。

配置与安装一共有好几步。

第一步:下载PHP软件,下载apache软件。

第二步:新建子目录d:\web\apache2.4\,将apache压缩文件解压到d:\web\apache2.4\。新建子目录d:\web\php7.4\,解压缩PHP压缩文件到d:\web\php7.4\子目录下。解压以后两个子目录的内容如下图所示。

第三步:配置apche配置文件 .\conf\httpd.conf

        # 修改参数SRVROOT,它会在该文档多处用到,DocumentRoot用到了该参数。

        Define SRVROOT "d:\web\Apache2.4" 

        #参数DocumentRoot如下所示。该参数的值可以根据实际情况进行修改。

        DocumentRoot "${SRVROOT}/htdocs"

        # 添加如下几行

        LoadModule php7_module "d:\web\php7.4\php7apache2_4.dll"
        AddType  application/x-httpd-php .php
        AddType  application/x-httpd-php .html
        PHPIniDir "d:\web\php7.4\php.ini"

第四步:将PHP安装子目录的php.ini-development 复制并改名为php.ini 。

第五步:修改PHP配置文件php.ini 。

        4.1 修改下方文本里的最后一行。

        ; Directory in which the loadable extensions (modules) reside.
        ; http://php.net/extension-dir
        ;extension_dir = "./"
        ; On windows:
        ;extension_dir = "ext"

        将前面的分号去掉,并修改成PHP安装目录。改成以后如下所示。

        extension_dir = "d:\web\php7.4\ext"

        4.2 去除参数值扩展前的分号。去除以后如下所示。这些行是连续排列的。其中有四个列外,行首保持带分号。

extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

第六步:安装apache 。

用管理员身份打开command命令行窗口,在命令行窗口里用命令安装apache。在这里也能卸载apache。

        输入:d:\

        输入:cd web\apache2.4\bin

        输入:httpd -k install

        会安装apache。要卸载apache,则输入命令:httpd -k uninstall 。

第七步:启动apache 。

一种方法是点击d:\web\apache2.4\bin\ApacheMonitor.exe,运行该程序,该程序会在右下角出现一个图标,左键点击该图标,然后点击start,启动apache 。

另一种方法麻烦一些,一管理员身份打开command命令行窗口,然后输入d:\,接着输入: cd web\apache2.4\bin ,然后输入 httpd -k start ,就能启动apache 。

第八步:测试PHP是否正常安装。

在d:\web\apache2.4\htdocs\子目录里用记事本编辑新文件phpinfo.php,在该文件里加入一行:

<?php   phpinfo(); ?>

然后保存该文件。

接着在游览器里输入:localhost/phpinfo.php, 能打开php信息界面说明正常安装了PHP 。

二、安装mqsql

     根据书上的说明,到mysql网站下载mysql。mysql有多个版本。有5.7的版本,有8.0.33的版本,还有很多其他版本。从尝试的角度,选择了最新版8.0.33。该zip文件有280多M,下载比较快,大约十分钟下载完成。然后新建子目录D:\web\mysql8.0,接着将它解压缩到新建的子目录,然后用管理员身份打开command命令行窗口,依次输入如下命令:

        d:

        cd web\mysql8.0\bin

        mysqld.exe -install

安装MySQL。一般能顺利安装。如果需要卸载数据库的话,输入如下命令:

        mysqld.exe -remove

接下来初始化数据库,输入如下命令:

        mysqld.exe --initialize-insecure

初始化数据库。然后启动mysql服务,在该命令行窗口里输入命令:net start mysql 。要停止mysql服务,则在该命令行窗口里输入命令:net stop mysql 。

然后在命令行窗口访问mysql。输入命令:mysql -u root 。就能登录mysql。接着给mysql的root用户设置密码,输入命令:set password for root@localhost  =  'xxyyzz' 。其中xxyyzz请修改成你想设置又能记住的密码。设置完以后要退出mysql,输入命令:exit 。然后输入重新用新密码登录MySQL,在命令行窗口输入命令:mysql -u root -p ,接着在新提示行里输入刚设置的密码,就能再次登录mysql。

参考资料

1、《PHP7从入门到精通》,张工厂,刘玉萍等等编著,清华出版社出版,2019年1月第二版。

2、《PHP+MySQL网站开发项目式教程》,传智播客编著,人民邮电出版社,2016年8月第一版。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/150843.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题笔记】排序

905. 按奇偶排序数组 解题思路&#xff1a; 1&#xff09;额外数组 两次遍历&#xff0c;第一遍将所有的 偶数 放到结果数组 res 的前面&#xff0c;第二遍将所有的 奇数 接着放到结果数组 res 的后面。也可以使用 对撞指针 往结果数组里存&#xff0c;在 一次遍历 内搞定。 2…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 八)

其他状态管理概述 除了前面章节提到的组件状态管理和应用状态管理&#xff0c;ArkTS还提供了Watch和$$来为开发者提供更多功能&#xff1a; Watch用于监听状态变量的变化。$$运算符&#xff1a;给内置组件提供TS变量的引用&#xff0c;使得TS变量和内置组件的内部状态保持同步…

【Overload游戏引擎分析】画场景栅格的Shader分析

Overload引擎地址&#xff1a; GitHub - adriengivry/Overload: 3D Game engine with editor 一、栅格绘制基本原理 Overload Editor启动之后&#xff0c;场景视图中有栅格线&#xff0c;这个在很多软件中都有。刚开始我猜测它应该是通过绘制线实现的。阅读代码发现&#xff0…

Maven 编译速度慢?使用一个小技巧提升 Maven 编译速度!

最近在工作中使用 Maven 编译 Java 项目&#xff0c;但是使用 Maven 编译并安装&#xff0c;平均耗时 6 分钟以上。 为了提升工作效率&#xff0c;我们可以通过设置 Maven 编译参数来提升 Maven 的编译速度。 打开 IDEA Maven 界面&#xff0c;设置参数 Thread count 为 2C&a…

【算法小课堂】二分查找算法

简单思路&#xff1a; 当我们要从一个序列中查找一个元素的时候&#xff0c;最快想到的方法就是顺序查找法&#xff08;即&#xff1a;从前到后依次查找&#xff09;。但这种方法过于无脑&#xff0c;就是暴力的把每个元素都排查一遍。元素个数少的时候还行&#xff0c;一旦元…

3D孪生场景搭建:3D漫游

上一篇 文章介绍了如何使用 NSDT 编辑器 制作模拟仿真应用场景&#xff0c;今天这篇文章将介绍如何使用NSDT 编辑器 设置3D漫游。 1、什么是3D漫游 3D漫游是指基于3D技术&#xff0c;将用户带入一个虚拟的三维环境中&#xff0c;通过交互式的手段&#xff0c;让用户可以自由地…

11个在线免费调整图像大小而不会降低质量工具

图片对于增强您的网站、博客和其他在线平台的视觉效果非常重要&#xff0c;而这些图片的正确尺寸在这里起着重要作用。如果您有多种尺寸的图像并且想要调整为一个尺寸&#xff0c;可以使用多种在线图像调整工具。使用在线工具&#xff0c;没有软件下载或安装的麻烦&#xff0c;…

解决SpringBoot Configuration Annotation Processor not configured

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 问题描述 在使用ConfigurationProperties注解和EnableConfigurationProperties注解时&#xff0c;IDEA报错&#xff1a;SpringBoot Configuration Annotation Processor no…

JVM篇---第八篇

系列文章目录 文章目录 系列文章目录一、虚拟机为什么使用元空间替换了永久代?二、什么是Stop The World ? 什么是OopMap?什么是安全点?三、说一下JVM 的主要组成部分及其作用?一、虚拟机为什么使用元空间替换了永久代? 「什么是元空间?什么是永久代?为什么用元空间代…

C#,数值计算——数据建模Fitab的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Fitting Data to a Straight Line /// </summary> public class Fitab { private int ndata { get; set; } private double a { get; set; } …

智能化物流管理:全国快递物流查询API的角色与优势

前言 当今社会&#xff0c;物流行业已经成为了国民经济的重要组成部分&#xff0c;而快递物流则是物流行业中的一个重要分支。随着信息技术的不断发展&#xff0c;智能化物流管理正逐渐成为快递物流领域的趋势&#xff0c;而全国快递物流查询API作为其中的一部分&#xff0c;在…

孩子用台灯哪种好用?热门好用的全新护眼台灯推荐

目前大多数的孩子因为学习的各大压力&#xff0c;每天学习到很晚&#xff0c;导致眼睛视力受到了影响&#xff0c;经常出现眼睛酸痛、眯眼睛第问题&#xff0c;作为一名专业的养生师&#xff0c;我非常建议入手近年爆火的护眼台灯能够解决学习是的光线问题。但是护眼台灯行业这…

R可视乎|灯芯柱状图代码解读

简介 这篇推文代码来源于&#xff1a;TidyTuesday&#xff0c;主要想学习如何绘制灯芯柱状图&#xff08;名字小编瞎取的&#xff09;&#xff0c;最终结果如下&#xff1a; 注释&#xff1a;与普通柱状图相比&#xff0c;灯芯柱状图不仅可以展示随时间变化的总体趋势&#xf…

使用vite+npm封装组件库并发布到npm仓库

组件库背景&#xff1a;使用elementplusvue封装了一个通过表单组件。通过JSX对el-form下的el-input和el-button等表单进行统一封装&#xff0c;最后达到&#xff0c;通过数据即可一键生成页面表单的功能。 1.使用vite创建vue项目 npm create vitelatest elementplus-auto-form…

Quarto 入门教程 (2):如何使用并编译出不同文档

接着上一期内容&#xff1a;手把手教你使用 Quarto 构建文档 (1)&#xff0c;本文介绍如何使用 Quarto&#xff0c;并编译出文档&#xff08;PDF&#xff0c;MS Word&#xff0c;html&#xff09;等。 安装 根据官方链接&#xff0c;选择适合自己电脑的 Quarto 版本并下载&am…

php递归生成树形结构 - 无限分类 - 构建树形结构 - 省市区三级联动

直接上代码 示例 <?php/*** php递归生成树形结构 - 无限分类 - 构建树形结构 - 省市区三级联动* * param array $lists 一维数组&#xff0c;包括不同级别的各行数据* param int $parentId 目标节点的父类ID (可以是顶级分类的父ID&#xff0c;也可以是任意节点的父ID)* …

Mybatis 拦截器(Mybatis插件原理)

Mybatis为我们提供了拦截器机制用于插件的开发&#xff0c;使用拦截器可以无侵入的开发Mybatis插件&#xff0c;Mybatis允许我们在SQL执行的过程中进行拦截&#xff0c;提供了以下可供拦截的接口&#xff1a; Executor&#xff1a;执行器ParameterHandler&#xff1a;参数处理…

docker搭建Jenkins及基本使用

1. 搭建 查询镜像 docker search jenkins下载镜像 docker pull jenkins/jenkins启动容器 #创建文件夹 mkdir -p /home/jenkins_home #权限 chmod 777 /home/jenkins_home #启动Jenkins docker run -d -uroot -p 9095:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home…

Delphi编程:pagecontrol组件的tab字体变大

1、将pagecontrol组件属性中的font的字体变成四号。 2、将tabsheet1属性中的font的字体设置成八号。 结果如下&#xff1a;

【Go】excelize库实现excel导入导出封装(一),自定义导出样式、隔行背景色、自适应行高、动态导出指定列、动态更改表头

前言 最近在学go操作excel&#xff0c;毕竟在web开发里&#xff0c;操作excel是非常非常常见的。这里我选择用 excelize 库来实现操作excel。 为了方便和通用&#xff0c;我们需要把导入导出进行封装&#xff0c;这样以后就可以很方便的拿来用&#xff0c;或者进行扩展。 我参…