在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月第一版。

相关推荐
白总Server28 分钟前
MongoDB解说
开发语言·数据库·后端·mongodb·golang·rust·php
fakaifa1 小时前
八戒农场小程序V2最新源码
小程序·uni-app·php·生活·开源软件
吱吱鼠叔2 小时前
MATLAB方程求解:1.线性方程组
开发语言·matlab·php
小安运维日记2 小时前
Linux云计算 |【第三阶段】PROJECT1-DAY1
linux·运维·云计算·apache
Messiah___3 小时前
【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
开发语言·php
项目題供诗5 小时前
尚品汇-秒杀商品存入缓存、Redis发布订阅实现状态位(五十一)
开发语言·php
蜗牛沐雨6 小时前
用 ReactPHP 实现图片上传加速:让并发上传实现真正的高效
php·reactphp
龙哥·三年风水18 小时前
活动系统开发之采用设计模式与非设计模式的区别-后台功能总结
设计模式·php·tinkphp6
白总Server19 小时前
MySQL在大数据场景应用
大数据·开发语言·数据库·后端·mysql·golang·php
yukai0800820 小时前
Python 全栈系列271 微服务踩坑记
python·微服务·php