PHP环境搭建和Apache HTTP服务器配置

所需软件:

需要准备Apache HTTP 服务器:

http://httpd.apache.org/download.cgi

PHP环境下载:
http://www.php.net/downloads.php

Apache HTTP服务器安装:

由于最新的 Apache 已经不提供 Windows 的安装版本了,所以我们这里使用的是解压版。
下载地址:https://www.apachelounge.com/download/
使用说明:https://httpd.apache.org/docs/current/platform/windows.html
安装方式如下,先解压到纯英文路径的文件夹,然后执行以下命令:

# 注意:需要使用管理员身份运行命令行!!! 
# 切换到  Apache 解压路径中的  bin 目录 
$ cd <解压目录>/bin 
# 安装  Apache 服务,‐n 参数是指定服务名称 
$ httpd.exe ‐k install ‐n "Apache" 
# 如果需要卸载 Apache,可以执行以下命令 
$ httpd.exe ‐k uninstall ‐n "Apache"

执行安装命令过后会报一个错,原因是默认的配置文件有问题,需要先调整一下配置文件 conf/httpd.conf ,才能 正常启动服务。

 

找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件,定位到 37 行,将 c:/Apache24  改为解压目录,我这 里解压到路径是 C:/Develop/apache ,所以我这里修改

修改完以后,执行以下命令重新测试配置文件是否通过。

$ httpd.exe ‐t

这里任然报错:

 通过错误信息得知,这里是因为另外一个地方配置的目录不存在导致的,所以接着调整 246 行的 DocumentRoot 选项:

随即,我们发现这个配置文件中有很多默认配置选项中的路径都是 c:/Apache24 ,所以我们批量都修改为我们解 压的目录路径。
然后重新执行 httpd.exe -t  测试配置文件,这时候应该提示 Syntax OK 。
如果有关于 ServerName  的警告提示,不用管它,暂时还不会影响我们接下来的使用和操作。
接着运行以下命令重新启动 Apache 服务:

# 注意:需要使用管理员身份运行命令行!!! 
$ httpd.exe ‐k start ‐n "Apache" 
# 重新启动  Apache 服务 
$ httpd.exe ‐k restart ‐n "Apache" 
# 停止  Apache 服务 
$ httpd.exe ‐k stop ‐n "Apache"

回到浏览器中,地址栏输入:http://localhost/,回车访问,这时正常应该看到 It works!

Apache HTTP服务器的虚拟主机配置:

如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚 拟主机的方式解决。
由于后期对虚拟主机的配置操作非常常见,所以我们一般将虚拟主机的配置单独放到一个配置文件中,然后 在主配置文件中引入,避免破坏主配置文件中的其他配置。
Include conf/extra/httpd-vhosts.conf  配置的作用就将另外一个配置文件引入(使其生效)
具体的操作方式就是在主配置文件 httpd.conf  的 505 行取消注释:

然后找到 Apache 的虚拟主机配置文件,添加一个如下的虚拟主机配置节点,然后重新启动 Apache。 这个文件中有两个默认的示例配置,可以注释掉

如果真的要使用 baixiu.com  这个域名的话,就只能通过修改 hosts  文件的此域名对应Apache HTTP服务器ip达到目的(由于是安装在本机将此域名对应的ip修改为本机ip 127.0.0.1),原因很简单:这个域名不是 我们自己的,我们没有办法修改这个域名在公网上的 DNS。
注意:
如果使用了虚拟主机,则默认必须全部使用虚拟主机,即之前的默认网站也必须通过虚拟主机方式配 置,否则访问不到。参考:http://skypegnu1.blog.51cto.com/8991766/1532454
如果虚拟主机的端口使用的不是 80 ,则需要在主配置文件中添加一个对这个端口的监听:

虚拟主机的无法访问根目录Error:

在配置虚拟主机的配置文件中添加一个Directory标签配置指定的根目录允许访问

<VirtualHost *:80># 服务器域名 (还需要在hosts文件中将此域名指向本机)ServerName suyi.com# 配置根目录允许访问<Directory "D:\HttpD-2.4.34-win64-VC15\apache\docs2">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted</Directory># DocumentRoot 根目录 写绝对路径DocumentRoot "D:\HttpD-2.4.34-win64-VC15\apache\docs2"# 错误日志ErrorLog "logs/suyi.net-error.log"# 本虚拟主机的访问日志CustomLog "logs/suyi.net-access.log" common
</VirtualHost>

配置 PHP 环境支持:

在服务器上安装 PHP
解压 php 到纯英文路径目录中
在 Apache HTTP服务器配置文件 httpd.conf 中添加支持 PHP 的配置
在 httpd.conf 添加 PHP 处理模块

# php support 
# 这个模块不是根据后缀判断是否该 PHP 工作,而是根据MIME TYPE 是不是 application/x-httpd-php
LoadModule php7_module PHP解压路径/php7apache2_4.dll

在 <IfModule mime_module>  节点中添加 .php  扩展名解析支持

 # parse .php files
AddType application/x‐httpd‐php .php

默认文档配置节点 <IfModule dir_module>  中添加 index.php
默认文档指的是在访问一个目录而不是具体文件名时,默认执行的文件名

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

重启服务器 php文件就可以访问了

转载于:https://www.cnblogs.com/sybk/p/10004708.html

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

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

相关文章

ElasticSearch安装过程中遇到的一些问题

问题1&#xff1a; 安装Elasticsearch5.X版本&#xff0c;不修改默认配置的情况下&#xff0c;一切还好&#xff0c;能够正常启动。但我必须开通外网访问。然后报错了&#xff0c;报错信息如下&#xff1a; ERROR: max file descriptors [1024] for elasticsearch process like…

进程的五种状态和线程的六种状态

参考文章&#xff1a; 进程的状态转换和线程的状态转换

Nexus 安装(Linux 环境)

一、环境准备 安装 JDK 1.7 二、下载 Nexus 压缩文件 下载地址&#xff1a;http://www.sonatype.org/nexus/archived/ 三、上传压缩文件 四、解压缩文件 五、配置环境变量 1、临时配置 mvn clean package -Dmaven.test.skiptrue -Dmaven.javadoc.skiptrue命令&#xff1a;expor…

java.util.UnknownFormatConversionException: Conversion = ‘,‘ 解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a; 2. 原因&#xff1a; 出错代码&#xff1a; if(info.getRiceCount() < 0){ ... } 事实上 对象的riceCoun属性值…

Map转为String

Map转为String 最近在做redis缓存时&#xff0c;需要将一个Map<String,Object>的对象转换为String对象存入redis&#xff0c;用的时候需从redis中取出来后并转为Map<String,Objcet>对象。 之前的做法直接就是Map对象的toString()存入redis,后面取出是就是用再转换为…

PowerBI分析Exchange服务器IIS运行日志

只要是基于Windows Server 的IIS来提供Web服务的应用&#xff0c;其实都可以对IIS的日志W3C进行分析&#xff0c;这样可以快速的了解整个web站点的运行情况&#xff0c;特别是对一些请求页面响应时间有要要求的&#xff0c;都可以从这些日志中分析问题出在哪&#xff0c;下面我…

java中 4 种取整函数

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 如下&#xff1a; round 函数可以特别注意一下&#xff1a;

section8

本章节的目的是 【明确目标用户群】 &#xff0c;以更好的服务现有用户。 【知识点】 1.作图 显示中文plt.rcParams[font.sans-serif] [SimHei] # 步骤一&#xff08;替换sans-serif字体&#xff09; plt.rcParams[axes.unicode_minus] False # 步骤二&#xff08;解决坐标轴…

排查腾讯云服务器被挖矿病毒【pnscan】挟持

一、问题发现 最新在使用腾讯云部署项目应用&#xff0c;具体方式为docker部署。今天早上发现腾讯云发来一条报警信息&#xff1a; 看到信息中说到攻击行为&#xff0c;怀疑是否中了病毒&#xff0c;决定排查一下问题。 二、排查过程 首先登录腾讯云服务器控制台&#xff0…

redis 操作

一、自动分配&#xff08;redis&#xff09; 数据放缓存了&#xff0c;为的是速度快 redis是支持持久化的&#xff0c;如果关机了以后&#xff0c;数据已经会放在文件里了 先买上一台电脑&#xff1a;装上redis服务器软件 - 这个服务器有个工网IP&#xff1a;47.93.4.198 - 端口…

从另一个角度看大数据量处理利器:布隆过滤器

思路&#xff1a;从简单的排序谈到BitMap算法&#xff0c;再谈到数据去重问题&#xff0c;谈到大数据量处理利器&#xff1a;布隆过滤器。 情景1&#xff1a;对无重复的数据进行排序 给定数据&#xff08;2&#xff0c;4&#xff0c;1&#xff0c;12&#xff0c;9&#xff0c…

例题练习

1,购物车 功能要求&#xff1a;要求用户输入自己拥有总资产&#xff0c;例如&#xff1a;2000显示商品列表&#xff0c;让用户根据序号选择商品&#xff0c;加入购物车购买&#xff0c;如果商品总额大于总资产&#xff0c;提示账户余额不足&#xff0c;否则&#xff0c;购买成功…

并行计算的强大

最近在处理一批数据&#xff0c;10的8次方&#xff0c;处理完毕大概要一个月&#xff0c;并且这个程序占用的CPU只有一个&#xff08;我从来没有注意到这个问题啊啊啊&#xff09;。 突然师兄提醒我可以把10的8次方条数据拆成10个10的7次方&#xff0c;作为10条任务并行处理&a…

Kubernetes集群(概念篇)

Kubernetes介绍 2013年docker诞生&#xff0c;自此一发不可收拾&#xff0c;它的发展如火如荼&#xff0c;作为一个运维如果不会docker&#xff0c;那真的是落伍了。 而2014年出现的kubernetes&#xff08;又叫k8s&#xff09;更加炙手可热&#xff0c;我想大部分人仅仅是听说过…

$(“#addLowForm“).serialize()同时提交其它参数的写法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 原本写法&#xff1a; 2. 不光传表单参数&#xff0c;还有别的参数的写法&#xff1a;

JAVA自学笔记25

JAVA自学笔记25 1、GUI 1&#xff09;图形用户接口&#xff0c;以图形的方式&#xff0c;来显示计算机操作的界面&#xff0c;更方便更直观 2&#xff09;CLI 命令行用户接口&#xff0c;就是常见的Dos&#xff0c;操作不直观 3&#xff09; 类Dimension 类内封装单个对象…

Map是不是集合?

Map是不是集合&#xff1f; 一、起因 今天在一个群里跟几位朋友就“map是不是集合“”争执了起来&#xff1b;几位朋友一致认为map不是集合&#xff0c;他们说只有Collection接口下的才是集合&#xff0c;而我认为Collection和Map下的实现类都是集合类。二、发展 于是我开始在…

简单安装ELK分析日志及使用心得

ELK是由Elasticsearch、Logstash、Kibana三个组件组成的。Elasticsearch&#xff1a;是ELK的核心插件&#xff0c;是一个基于Lucene的搜索服务器&#xff0c;它提供一个分布式多用户能力的全文搜索引擎&#xff0c;能够达到实时搜索&#xff0c;稳定&#xff0c;可靠&#xff0…

JS单引号嵌套的问题,怎么改才能对呢!

JS单引号嵌套的问题&#xff0c;怎么改才能对呢&#xff01; https://zhidao.baidu.com/question/416584343.html document.getElementById(celbid).innerHTML<inputname""type"text"οnblur"celchangeb(celaid,celbid);">;这段代码是JS显…

前端入门教程(七)CSS属性设置

宽和高 width属性可以为元素设置宽度。 height属性可以为元素设置高度。 块级标签才能设置宽度&#xff0c;内联标签的宽度由内容来决定。 字体属性 文字字体 font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体&#xff0c;则会尝试下一个…