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

相关推荐
莫爷1 小时前
JSON 性能优化实战:大数据量 JSON 的处理技巧
性能优化·json·apache
D愿你归来仍是少年2 小时前
Flink 并行度变更时 RocksDB 状态迁移的关键机制与原理
大数据·flink·apache
华科大胡子3 小时前
此电脑网络位置异常的AD域排错指南
开发语言·php
千百元7 小时前
网络图标显示不正常
开发语言·网络·php
hans汉斯7 小时前
基于污点分析的PHP应用威胁检测平台
开发语言·人工智能·算法·yolo·目标检测·php·无人机
一次旅行7 小时前
Mac本地部署OpenClaw优化
开发语言·macos·php
博傅8 小时前
docker部署php项目
docker·eureka·php
luanma1509809 小时前
Laravel vs ThinkPHP:框架选择终极指南
php·laravel
User_芊芊君子9 小时前
大数据时代时序数据库选型指南:Apache IoTDB技术解析与实践建议
大数据·apache·时序数据库
SeaTunnel10 小时前
Apache SeaTunnel 提速不难,JVM 参数这样调
jvm·apache