凡事不求甚解,遇事必定抓瞎-PHP開發Apache伺服器設定備忘錄
照此配置流程,絕對一路暢通,可保無虞。
昨天弄了個PHP小程序,想在本地跑一下測試,可是工作電腦沒有安裝環境,於是下載了一個wamp,一路暢通,Apache、Mysql、PHP就全有了。啟動wamp服務,在瀏覽器輸入“http://localhost”,訪問正常,跳出wamp首頁。於是,下面想把自己的CrashServer網站配置到Apache裡,可以透過虛擬網域在本地訪問測試,結果遇到不少問題,今日一通Google研究,終於任督二脈全通。
1、首先,Apache的設定檔是httpd.conf和httpd-vhosts.conf,我們先來看看wamp安裝好後,httpd.conf的預設設定。
<span>DocumentRoot "d:/wamp/www/" </span><span><</span><span>Directory </span><span>/></span><span> AllowOverride none Require all denied </span><span></</span><span>Directory</span><span>></span><span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span> Options Indexes FollowSymLinks AllowOverride all Require local </span><span></</span><span>Directory</span><span>><br></span>
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
<span> </span>
要想透過虛擬網域造訪網站,就需要設定一下httpd-vhosts.conf。那麼需要啟動httpd-vhosts.conf,因為預設是關閉的,所以把設定檔中#Include conf/extra/httpd-vhosts.conf前面的#去掉。於是httpd-vhosts.conf啟用了,那我們去編輯httpd-vhosts.conf這個檔。
2、httpd-vhosts.conf檔案的位置,在apache目錄下的conf/extra,上面的Include conf/extra/httpd-vhosts.conf其實已經告訴你它的位置了。
在這個檔案中,加入配置我上面的CrashServer網站:
<span>NameVirtualHost *:80</span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
首先,我的CrashServer是放在wamp/www下面的,這是wamp預設的網站目錄,其次,我想在本地測試的時候,用crash.com就能造訪CrashServer,於是配置如上。
在這裡,為了讓我們能透過crash.com訪問本地站點,所以需要修改hosts文件,添加 127.0.0.1 crash.com。
到這裡,配置完畢了,於是重啟Apache,輸入crash.com訪問,結果正常訪問。但是,當以localhost訪問時,原來出現的是wamp的主頁,現在卻顯示CrashServer了,於是還要在hosts裡追加127.0.0.1 localhost,在httpd-vhosts.conf中,追加上localhost的站點配置,現在看起來就是這樣了:
<span>NameVirtualHost *:80 </span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www" ServerName localhost </span><span></</span><span>VirtualHost</span><span>></span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
OK,到此基本上可以結束了,網站都配置好了,看起來非常非常的簡單。但對於我卻不是這樣的,我昨天碰到如下問題。
首先,我的CrashServer一開始不是放在wamp/www下的,而是放在E:360Downloads下面的,於是就有瞭如下配置:
<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
這沒錯吧,路徑都對,虛擬網域也對,可是訪問的時候,卻提示403 Forbidden,沒有權限。於是Google,哦,知道了原來是要給CrashServer目錄加上權限,於是修改配置如下:
<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com </span><span><</span><span>Directory </span><span>E:/360Downloads/CrashServer</span><span>></span><span> Order Allow,Deny Allow from All Require all granted </span><span></</span><span>Directory</span><span>></span><span></</span><span>VirtualHost</span><span>></span>
重啟Apache,訪問正常了。首先,新增的Directory,是可以在httpd.conf中添加的,也可以在httpd-vhosts.conf中添加,我認為在後者裡面添加更好,配置內容更加清晰明了,項目目錄權限跟隨著項目站點配置。在上面新增的Directory中,我們給了360Downloads下的CrashServer目錄加了權限,允許存取了,所以就不再提示403 Forbidden了。
這個問題,現在寫起來是這麼的簡單輕鬆,可問題出現的時候,卻很讓人困擾和鬱悶。對於專案在wamp/www之外的,需要給專案目錄權限才可,注意:
<span>Order Allow,Deny Allow from All Require all granted</span>
這三條缺一不可,這是配置了允許外部電腦存取伺服器網站。
3、今天問題解決後,想到透過同一區域網路下的其他設備訪問我的站點,於是用手機,在瀏覽器中輸入我的電腦的ip,不能訪問,再次Google,原來需要修改在httpd.conf中的配置:
<span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span> Options Indexes FollowSymLinks AllowOverride all Require local </span><span></</span><span>Directory</span><span>></span>
其中,Require local,沒Google出來,但看名字知道,是只允許本地訪問,於是改成Require all granted,允許所有請求訪問,手機就可以訪問了。
參考,http://roteg.iteye.com/blog/1465380,這裡是訪問驗證配置的解釋。
這裡,有篇老外寫的配置博文,很好,https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp#wamp-step-7 ,但是唯獨一點,在他的Step 7的時候,給項目目錄添加權限:
<span><</span><span>Directory </span><span>C:/Users/Kristen/Documents/Projects</span><span>></span><span> Order Deny,Allow Allow from all </span><span></</span><span>Directory</span><span>></span>
卻恰恰少了Require all granted,導致最後還是403 Forbidden,搞得我非常鬱悶。
此配置是在如下wamp環境進行的:
至此,在Apache下配置PHP站點,全部完成。
以上就介紹了凡事不求甚解,遇事必定抓瞎——PHP開發Apache伺服器設定備忘錄,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![Active Directory 使用者和電腦遺失 [以 3 種方式修復]](https://img.php.cn/upload/article/000/465/014/168196830849131.png?x-oss-process=image/resize,m_fill,h_207,w_330)
ActiveDirectory使用者和電腦(ADUC)遺失是許多WindowsPro使用者報告的最令人沮喪的問題之一。 ADUC是一個令人難以置信的MMC管理單元,它使管理員能夠管理MicrosoftActiveDirectory。但是,由於某種原因,它在Windows伺服器或Enterprise/Pro版本中缺失。讓我們深入了解它丟失的原因以及我們如何修復它。 Windows11是否有ActiveDirectory? ActiveDirectory是任何想要管理遠端

本文涉及兩款php的整合環境,這兩款都含mysql + apache + php,phpstudy的功能比wamp更強大,而且十分簡單容易上手。

Wampserver是一個可以在Windows電腦上安裝Apache、PHP和MySQL的軟體套件。使用Wampserver可以輕鬆地在本機電腦上開發和測試PHP網站。在開發過程中,我們可能需要修改PHP設定檔php.ini。本文將介紹如何在Wampserver中修改php.ini檔案。

WAMP是一個免費開源的Web伺服器軟體包,允許使用者在Windows作業系統上建立Web伺服器環境。但是,當使用者嘗試在WAMP中執行PHP檔案時,可能會遇到無法解析的錯誤。在本文中,我們將探討WAMP無法解析PHP檔案的原因與解決方法。

解決YumHttpd無法解析PHP的問題,需要具體程式碼範例在建置網站時,經常會遇到Yum安裝的Httpd無法解析PHP的問題,導致無法正常存取網站頁面。這個問題一直困擾著許多網站管理員和開發者,在本文中,我們將針對這個問題提供一些解決方案,並給出具體的程式碼範例。首先,我們需要明確問題的根源。 Httpd無法解析PHP通常是因為缺乏必要的PHP模組或設定不正確

在使用WAMP作為本機伺服器環境的過程中,有時候會出現PHP檔案亂碼問題。這種問題不僅會影響我們的程式碼編寫,同時也會影響我們網站的正常運作。在這篇文章中,我們將會介紹一些解決WAMP中PHP檔案亂碼的方法。

本文目錄導讀:CentOS安裝WAMP安裝Apache安裝MySQL安裝PHP配置WAMPCentOS安裝完後進入桌面不能點重啟桌面環境更新或重新安裝驅動程式重置桌面配置更換桌面環境LINUX小知識分享CentOS安裝WAMPCentOS是一種基於Linux的作業系統,用於伺服器和桌面應用程序,WAMP是一個開發環境,用於在Windows作業系統上運行Web應用程序,在本文中,我們將介紹如何在CentOS上安裝WAMP。安裝Apache我們需要安裝Apache作為Web伺服器,在終端機中執行以下命

在建置網站時常常會用到Yum、Httpd和PHP這些工具,但有時候會遇到一個問題,就是Yum安裝的Httpd無法辨識PHP檔。這個問題可能會導致網站無法正常運作,因此了解產生這個問題的原因以及解決方法就顯得尤為重要。首先我們來了解為什麼會出現YumHttpd無法辨識PHP檔案的情況。在搭建網站的過程中,我們通常會選擇使用Apache作為Web伺服器,
