完整的Apache+PHP8+MYSQL的配置

news2024/11/24 9:12:37

1.下载Apache和PHP

下载Apache,地址:http://www.apachelounge.com/download/,如下图:

将下载的压缩包解压到某个文件夹(比如:D:\software), 将解压后的文件夹重命名为Apache24

下载PHP压缩包,地址:https://windows.php.net/download,(一定要下载Thread Safe版本)

将下载的压缩包解压到某个文件夹(比如:D:\software), 将解压后的文件夹重命名为php

2.配置Apache

  1. 修改"D:\software\Apache24\ conf\httpd.conf "文件,修改SRVROOT
    为Apache根目录


#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
Define SRVROOT "D:\software\Apache24"
ServerRoot "${SRVROOT}"
  1. 修改"D:\software\Apache24\ conf\httpd.conf "文件,末尾添加对PHP的支持及PHP的安装路径

# php7 support
LoadModule php_module "D:/software/php/php8apache2_4.dll"
AddType application/x-httpd-php .php .html .htm

# configure the path to php.ini
PHPIniDir "D:/software/php"
  1. 打开网址http://localhost/即可看到It works!,就这么愉快的配置好了服务环境

3.配置PHP

  1. 将 PHP 的根目录下的 php.ini-development 或者 php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件,取消extension_dir的注释,即删除前面的";"

extension_dir ="ext"
  1. 修改php.ini文件,设置默认的时区:

[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = Asia/Shanghai
  1. 修改php.ini文件,设置 ssl :

[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
openssl.cafile= cacert.pem
  1. 修改php.ini文件,修改需要加载的扩展文件,下面代码是取消部分扩展程序的注释之后的代码(直接复制到php.ini文件即可):

extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
;extension=php_shmop.dll
 
; The MIBS data available in the PHP distribution must be installed. 
; See http://www.php.net/manual/en/snmp.installation.php 
;extension=php_snmp.dll
 
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll

4.配置环境变量

右键我的电脑,属性->高级,找到最下面的环境变量按钮,选中当前用户的PATH变量,编辑新建分别添加以下环境变量:

D:\software\Apache24\bin

D:\software\php

D:\software\php\ext

5.使用Apache部署php项目

  1. 修改"D:\software\Apache24\ conf\httpd.conf "文件,添加监听项目端口(比如:8888)


#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
#Listen 80
Listen 88
Listen 8888
  1. 修改"D:\software\Apache24\ conf\httpd.conf "文件,添加服务端口(比如:8888)


#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName localhost:80
ServerName localhost:88
ServerName localhost:8888
  1. 修改"D:\software\Apache24\ conf\httpd.conf "文件,取消Include conf/extra/httpd-vhosts.conf的注释


# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
  1. 在"D:/web/php" 目录(此目录也可为你PHP项目的根目录)下新建index.php文件内容如下

<?php
phpinfo();
?>
  1. 修改"D:\software\Apache24\ conf\extra\httpd-vhosts.conf "文件,在文件末尾添加以下内容

# I:/web/php是项目目录
<VirtualHost _default_:8888>
    DocumentRoot "D:/web/php"
    <Directory "D:/web/php">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

6.启动Apache服务

以管理员身份打开cmd命令行,输入下列命令重启Apache服务,之后在浏览器进入此链接http://localhost:8888/index.php即可看到如下效果

(初次启动服务需要install命令,后面修改Apache配置文件后只需要运行restart命令即可)

httpd.exe -k install
httpd.exe -k restart

PS:

修改Apache配置文件后需要运行httpd.exe -k restart命令重启Apache

在命令行输入httpd -t,可以查看是不是Apache的启动问题

如果报错说无法加载php8apache2_4.dll文件,说明下载的PHP版本不对,应该下载Thread safe版本

7.MYSQL的配置

前面将Apache和PHP关联了起来,可以运行php文件了,还有一个组合就是运行MYSQL数据库

根据自己的操作系统来下载,下载地址:https://dev.mysql.com/downloads/installer/

直接复制链接,建议使用迅雷下载:https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-8.0.31.0.msi

下载之后安装,安装过程忽略了,很简单,端口3306不想默认就自己修改。

打开php.ini

去掉注释:

extension=mysqli
extension=pdo_mysql

然后我们连接试下,看是否成功:

在"D:/web/php" 目录(此目录也可为你PHP项目的根目录)下新建2.php文件内容如下

<?php
 $link = mysqli_connect("127.0.0.1","root","123456") or die("连接失败!");
 if($link){
    echo "数据库连接成功";
}
?>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天云数据入选中国信通院《全球数据库产业图谱(2022)》

6月28日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;、中国通信标准化协会指导&#xff0c;中国通信标准化协会大数据技术标准推进委员会&#xff08;CCSA TC601&#xff09;主办的2022大数据产业峰会在京召开。 大会现场&#xff0c;魏凯…

黑马Pink老师JavaScript新教程上线啦~

今天是你开工的第几天&#xff1f; 是谁在回味假期的美好 是谁一上班就困困困 是谁身在上班心还在春节假 友情提示 再坚持4天&#xff0c;就到周末了 世间长假难有 但周末常在 无论是对于学习人还是打工人来说 周末都太美好了 和周末一样美好的 还有黑马的免费教程 …

11-Alibaba微服务流控组件Sentinel实战上

分布式系统遇到的问题 在一个高度服务化的系统中,我们实现的一个业务逻辑通常会依赖多个服务,比如:商品详情展示服务会依赖商品服务, 价格服务, 商品评论服务. 如图所示: 调用三个依赖服务会共享商品详情服务的线程池. 如果其中的商品评论服务不可用, 就会出现线程池里所有线程…

快来看啊,2023成都Java培训机构排行榜出来啦!

来啦&#xff0c;来啦&#xff01;我带着2023成都最新Java培训机构排行榜来啦。不知道怎么选择一个好的Java培训机构&#xff1f;停止寻觅&#xff0c;别再犹豫&#xff0c;看我这一篇就够啦&#xff01;一、成都动力节点动力节点&#xff0c;09年成立&#xff0c;14年来只专注…

C++语法复习笔记-3. C语言陷阱与C++改进

文章目录1.C语言常见语法问题1. 字符问题2.c语言的考虑3.C的思考2.C语言指针和数组问题1.问题表现传入参数会退化为指针2.问题原因3.C解决方案处理二维数组3. c语言移位问题1.问题表现逻辑右移还是算术右移移位操作位数的限制2.问题原因3.C中的解决方案4. C语言强制类型转换问题…

idea如何设置通过鼠标去改变字体的大小,idea如何进行作者署名以及时间显示

目录 一、idea如何设置通过鼠标去改变字体的大小 步骤&#xff1a; 1、缩小字体 2、放大字体 二、idea如何进行作者署名以及时间显示 步骤: 一、idea如何设置通过鼠标去改变字体的大小 步骤&#xff1a; 1、缩小字体 设置settings——>键盘设置keymap——>缩小字…

使用 cat 查看创建的软链接文件,出现 cat: 文件: 符号连接的层数过多

今天在使用 cat 查看创建的软链接文件时&#xff0c;出现了这样一个问题&#xff1a; 出现过程&#xff1a; 1、首先&#xff0c;在当前 home 目录下我有一个 2.txt 文件和 test 文件夹 &#xff1b; [wqlocalhost ~]$ ls 1.txt 2.txt Desktop Documents Downloads Musi…

如何将网站全部变成灰色的素装效果,瞧过来

最近&#xff0c;我们看到各个网站、app的页面全部变成了灰色或者黑白色。对于我们需要悼念的日子&#xff0c;使用这种素装&#xff0c;以表示我们对逝者或者英雄的悼念与缅怀&#xff01; 我们看到这种全站的内容全部为灰色&#xff0c;是不是很好奇呢&#xff1f;图片、按钮…

【香橙派4B】1、重刷系统

目录 准备材料 准备软件 准备系统镜像文件 下载镜像 解压镜像包 烧录镜像到SD卡 格式化SD卡 烧录镜像 SD卡烧录镜像到香橙派4B 买回来的香橙派4B&#xff0c;刚上电是安卓的系统&#xff0c;无法进行开发&#xff0c;所以需要进行重装系统。 准备材料 闪迪官方的SD卡&…

图例legend语法及设置

(1)设置图例位置 使用loc参数 plt.legend(loc‘lower left’) 0‘best’1‘upper right’2‘upper left’3‘lower left’4‘lower right’5‘right’6‘center left’7‘center right’8‘lower center’9‘upper center’10‘center’ (2)设置图例字体 #设置字体大小 fontsi…

项目看板开发经验分享(二)——事业部能源监控看板(进度条拟柱状图图表、圆柱形柱状图、图表左右滚动进度条、导航轮播按钮)

系列第二篇&#xff0c;话不多说&#xff0c;直接进入正题 事业部能源监控看板展示视频1、进度条组件 因为整个看板有四处地方用到&#xff0c;结合上一期提到的内容&#xff0c;我们优先考虑将这个模块做成组件 UED给的样式用echarts会很麻烦&#xff0c;我们优先考虑用eleme…

活体识别2: 综述类资源收集

说明 我自己不算专业的算法工程师&#xff0c;只是兼做一些算法的事。接触活体识别这个领域有些摸不清门路&#xff0c;所以网上有些综述类的文章和论文对我来说很重要&#xff0c;让我在对这个领域的知识脉络一无所知的时候有个大概的感性认识。 我这里罗列下我感觉不错的文…

互联网正在化有形为无形,这是一场深刻而又彻底的嬗变

如果放在几年前&#xff0c;你是万万无法想到互联网会蜕变成今天这样一副模样。尽管如此&#xff0c;这样一种蜕变却在真实地发生着。不知道你有没有发现就连前两年火爆的短视频人们都懒得刷了。所有的这一切都在告诉我们&#xff0c;互联网正在发生一场深刻而又彻底的嬗变。如…

【ML入门】anaconda环境搭建

【ML入门】anaconda环境搭建 一、安装anaconda anaconda简介 直接安装python不是更快吗&#xff0c;为什么使用anaconda&#xff1f; 可以理解anaconda是一个大容器&#xff08;类似docker&#xff09;&#xff0c;里面可以建立多个python虚拟环境&#xff0c;对于不同的工…

harbor不停机更换自定义证书

1、问题起源 今天在使用docker推镜像提示证书问题&#xff0c;查看是harbor的自签名证书过期了&#xff0c;报错如下 由于harbor是使用helm部署&#xff0c;以容器方式运行在k8s集群中&#xff0c;无法直接修改证书信息&#xff0c;需要通过更新secret更新证书 2、生成自签名…

论文投稿指南——中文核心期刊推荐(食品工业)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

云计算|OpenStack|社区版OpenStack安装部署文档(二---OpenStack运行环境搭建)

前言&#xff1a; 一个良好的运行环境对于任何一个部署工作来说都是必须的&#xff0c;俗话说 万事开头难&#xff0c;其实很多部署工作失败的原因在于初始环境没有正确的配置&#xff0c;因此&#xff0c;按照官网的部署文档并结合自己的实际情况&#xff0c;配置一个合理的O…

JavaScript对象~

String对象&#xff1a; 它是 JavaScript 的一种基本的数据类型 String 对象的 length 属性声明了该字符串中的字符数&#xff0c;String 类定义了大量操作字符串的方法&#xff0c;例如从字符串中提取字符或子串&#xff0c;或者检索字符或子串 需要注意的是&#xff0c;Ja…

Java图形化界面---进度条

目录 一、进度条的介绍 二、创建进度条 三、简单案例 四、子线程创建进度条 &#xff08;1&#xff09;为什么要使用子线程创建进度条 &#xff08;2&#xff09;子线程创建进度条的代码 五、创建进度对话框 &#xff08;1&#xff09;如何创建进度对话框 &#xff08;2&…

win32Openssl -1_1_1下载安装与使用

1、下载 https://mp.csdn.net/mp_blog/creation/editor?spm1001.2014.3001.5352 此处我下载的版本是&#xff1a; 2、安装 双击安装&#xff0c;可以自定义安装路径。我的安装路径是&#xff1a;D:\openssl1\OpenSSL-Win32 3、VS2022中使用 使用场景&#xff1a;计算MD5校…