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.pswp.cn/news/451527.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451527.shtml
英文地址,請注明出處:http://en.pswp.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…

Java原子操作類AtomicInteger應用場景

參考文章&#xff1a;Java原子操作類AtomicInteger應用場景 感謝作者分享&#xff01;

漂泊的足跡

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 似乎有河一樣的蔓延 流淌過我被陽光翻曬過的身軀 你的足跡 是遙遠的一個小島 從不知名的地方漂泊而來

什么是MD5

MD5是message-digest algorithm 5&#xff08;信息-摘要算法&#xff09;的縮寫&#xff0c;被廣泛用于加密和解密技術上&#xff0c;它可以說是文件的“數字指紋”。任何一個文件&#xff0c;無論是可執行程序、圖像文件、臨時文件或者其他任何類型的文件&#xff0c;也不管它…

selenium使用js進行點擊

WebElement button driver.findElement(By.xpath("/html/body/div[1]/div[3]/h2/div[2]")); JavascriptExecutor js (JavascriptExecutor) driver; js.executeScript("arguments[0].click();", button);當你使用driver原生API如果發現報錯&#xff0c;或…

screenX clientX pageX的區別

screenX:鼠標位置相對于用戶屏幕水平偏移量&#xff0c;而screenY也就是垂直方向的&#xff0c;此時的參照點也就是原點是屏幕的左上角。 clientX:跟screenX相比就是將參照點改成了瀏覽器內容區域的左上角&#xff0c;該參照點會隨之滾動條的移動而移動。 pageX&#xff1a;參照…

進程的五種狀態和線程的六種狀態

參考文章&#xff1a; 進程的狀態轉換和線程的狀態轉換

談談對程序員的培養

這篇文章是我好久以來的想法&#xff0c;有一些感悟&#xff0c;有一些激烈的言辭&#xff0c;我很自豪我就是一名程序員&#xff0c;我希望給程序員或者前程序員們帶來一點啟發。也許你認可我的言辭&#xff0c;也許你不屑我的觀點&#xff0c;無論如何&#xff0c;歡迎談談你…

我記得

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我記得在農村一片一片金色的稻田 , 碧綠的秧苗 , 我想起有風吹過的時候那金穗一層一層的翻滾 ... 是一際熟悉于往昔的海洋 , 那火黃的…

Python實現文件md5校驗

Linux下校驗文件MD5值&#xff0c;最簡單的方法就是執行md5sum命令 md5sum filename 原本打算用subprocess調用系統命令來獲取md5值&#xff0c; [python] view plaincopy print?import subprocess,shlex cmd "md5sum filename" p subprocess(shlex.split(cmd…

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…

android 連接指定wifi

本文牽涉kotlin和rxjava的相關知識 //查詢wifi信息需要申請權限&#xff0c;權限工具類就不要在意了&#xff0c;重點在下面 PermissionUtils.permission(PermissionConstants.LOCATION).callback(object : PermissionUtils.SimpleCallback {override fun onGranted() {//通過授…

英特爾預計5年內將成智能手機芯片大廠

北京時間4月26日早間消息&#xff0c;英特爾預計&#xff0c;英特爾在未來5年內將成為智能手機芯片市場的“重要參與者”。過去10年中&#xff0c;英特爾在這一市場的多次嘗試都未能獲得成功。 英特爾CFO斯泰西史密斯(Stacy Smith)表示&#xff1a;“英特爾并不滿足于成為市場中…

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

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 報錯&#xff1a; 2. 原因&#xff1a; 出錯代碼&#xff1a; if(info.getRiceCount() < 0){ ... } 事實上 對象的riceCoun屬性值…

JAVA中獲取當前系統時間

一. 獲取當前系統時間和日期并格式化輸出: import java.util.Date; import java.text.SimpleDateFormat;public class NowString { public static void main(String[] args) { SimpleDateFormat df new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式Sys…

爬蟲中的關于字符串的一些理解

1.基本概念 字符(Character)是各種文字和符號的總稱&#xff0c;包括各國家文字、標點符號、圖形符號、數字等 字符集(Character set)是多個字符的集合 字符集包括&#xff1a;ASCII字符集、GB2312字符集、GB18030字符集、Unicode字符集等 ASCII編碼是1個字節&#xff0c;而Uni…

分布式數據一致性

分布式系統數據一致性問題 感謝作者分享&#xff01;

HttpServletRequest中獲取IP值

獲取IP值&#xff1a; public class IpAdrressUtil {/*** 獲取Ip地址* param request* return*/private static String getIpAdrress(HttpServletRequest request) {String Xip request.getHeader("X-Real-IP");String XFor request.getHeader("X-Forwarded-F…

國外較好的IT網站

最近有些讀者給我來信說很喜歡這個網站上的文章&#xff0c;并且也想通過翻譯學習英文&#xff0c;他們詢問我這些文章的英文原文是從哪里找到的? 外刊IT評論上的翻譯的英文來源很雜&#xff0c;我總結了一下&#xff0c;大概有幾個 集中的出處&#xff0c;下面列舉出來供大家…

oracle怎樣把查詢的null轉換為0

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 NVL(Expr1,Expr2)如果Expr1為NULL&#xff0c;返回Expr2的值&#xff0c;否則返回Expr1的值 例如&#xff1a;select NVL(SUM(MONEY) ,0…