1.1. PHP介紹
1.1.1. 靜態(tài)網(wǎng)頁(網(wǎng)站)
就是不會(huì)“變化”的網(wǎng)頁(內(nèi)容)。
1.1.2. 動(dòng)態(tài)網(wǎng)頁(網(wǎng)站)
就是會(huì)因?yàn)g覽的時(shí)間或不同的人而呈現(xiàn)不同內(nèi)容的網(wǎng)頁。
重要理念:后臺(tái)程序(比如php)的運(yùn)行結(jié)果(動(dòng)態(tài)程序),最終的目的,是為了“輸出”前臺(tái)的靜態(tài)網(wǎng)頁。
PHP從數(shù)據(jù)庫中獲取到動(dòng)態(tài)數(shù)據(jù),然后在靜態(tài)頁面中進(jìn)行輸出
1.1.3. PHP發(fā)展史
PHP官方網(wǎng)站:
英文:PHP: Hypertext Preprocessor,超文本預(yù)處理器
? PHP/FI (form Interpreter)在 1995 年由 Rasmus Lerdorf 創(chuàng)建。起初腳本取名為“Personal Home Page Tools”。
? PHP/FI 2.0 于 1997 年 11 月發(fā)布了官方正式版本。
? Andi Gutmans 和 Zeev Suraski 在開發(fā)中,發(fā)現(xiàn) PHP/FI 2.0 功能明顯不足,于是他們重寫了代碼。這就是 PHP 3.0,這是比較接近現(xiàn)在PHP語法的一個(gè)版本。
? 2000年5月,PHP4.0誕生,性能得到很大的提升。
? 2004 年 7 月,PHP5.0發(fā)布,引入了新的對(duì)象模型和大量新功能,也是目前應(yīng)用中的主流版本(5.4=>5.6)。
? 2014年P(guān)HP6由于種種原因,沒有正式發(fā)布。
? 2015年最新的PHP版本是PHP7。
? 2019年最新PHP版本是PHP7.4.0。
? 目前PHP有zend公司在發(fā)布和維護(hù)。
全世界大約80%以上的網(wǎng)站都使用了php技術(shù)作為網(wǎng)站后臺(tái)服務(wù)程序,如下所示:
數(shù)據(jù)來源:w3techs.com
1.1.4. PHP的特點(diǎn)
– web(網(wǎng)站)服務(wù)器端的主流開發(fā)語言,用來實(shí)現(xiàn)用戶的請(qǐng)求與響應(yīng)
– 開源軟件(源代碼對(duì)外公開),免費(fèi),跨平臺(tái)(所有操作系統(tǒng)windows、linux、mac下均可運(yùn)行)。
– 入門簡(jiǎn)單,快速開發(fā)。
– 支持主流數(shù)據(jù)庫,比如MySQL,MSSQL,Oracle,DB,ACCESS等
1.2. PHP運(yùn)行環(huán)境介紹
1.2.1. 網(wǎng)絡(luò)應(yīng)用發(fā)展介紹
C/S模式(結(jié)構(gòu)):
C: Client(客戶端)
S: Server(服務(wù)器端)
例如:QQ聊天:1、下載、安裝QQ的軟件(客戶端軟件)2、登陸并驗(yàn)證(去騰訊的QQ服務(wù)器進(jìn)行驗(yàn)證);3、聊天(張三(客戶端)發(fā)起一句聊天,聊天信息發(fā)送到QQ服務(wù)器端(請(qǐng)求),然后QQ服務(wù)器把該信息轉(zhuǎn)發(fā)給李四(客戶端)(響應(yīng)))
特點(diǎn):本地(客戶端)需要安裝客戶端軟件(工具)
產(chǎn)品:QQ、微信、淘寶APP、京東APP
B/S模式(結(jié)構(gòu)):
B: Browser(瀏覽器)
S: Server(服務(wù)器)
B/S模式的訪問原理,就是通常所說的“上網(wǎng)”,圖示如下:
特點(diǎn):通過瀏覽器(谷歌、火狐、IE、歐朋、360等)訪問服務(wù)器
產(chǎn)品:網(wǎng)頁版的JD、淘寶、天貓
后期幾個(gè)月我們都是學(xué)習(xí)如何開發(fā)B/S架構(gòu)軟件
1.2.2. PHP動(dòng)態(tài)網(wǎng)站運(yùn)行原理
圖示如下:
數(shù)據(jù)庫軟件: MySQL, MSSQL, Oracle, db2, informix。。。。。
Web服務(wù)器軟件: Apache, Nginx, httpd, IIS, Tomcat。。。
網(wǎng)頁:靜態(tài)網(wǎng)頁(服務(wù)器直接響應(yīng)返回返回)、動(dòng)態(tài)網(wǎng)頁(需要服務(wù)器端語言(PHP、Java、Go等等)進(jìn)行解析)
瀏覽器軟件: Chrome, FF, IE。。。
那,PHP在哪兒?繼續(xù)展開“網(wǎng)站服務(wù)器”部分,如下圖所示:
Web服務(wù)器:Apache 后端語言:PHP
數(shù)據(jù):MySQL
比如:
客戶端輸入:http://www.hao123.com/a.html 服務(wù)器端:直接把a(bǔ).html的內(nèi)容響應(yīng)給瀏覽器
客戶端輸入:http://www.hao123.com/a.php 服務(wù)器端:會(huì)把a(bǔ).php交給PHP語言進(jìn)行處理,然后響應(yīng)給瀏覽器。
客戶端輸入:[http://www.hao123.com/]
(http://www.hao123.com/a.html)a.jsp 服務(wù)器端:會(huì)把a(bǔ).jsp交給Java語言進(jìn)行處理,然后響應(yīng)給瀏覽器。
1.3. 幾個(gè)不同的PHP運(yùn)行環(huán)境
WAMP環(huán)境: Windows + Apache + MySQL + PHP (經(jīng)常在本地電腦開發(fā)時(shí)使用的環(huán)境)
LAMP環(huán)境: Linux + Apache + MySQL + PHP (網(wǎng)站上線之后運(yùn)行的環(huán)境)
LNMP環(huán)境: Linux + Nginx + MySQL + PHP (目前最主流上線之后運(yùn)行的環(huán)境)
獨(dú)立安裝環(huán)境:Apache、PHP、MySQL分別需要獨(dú)立安裝,然后把三個(gè)組裝在一起
優(yōu)點(diǎn):能夠按照你的需求進(jìn)行安裝不同版本的軟件,而且能夠安裝最新的版本;另外,有助于我們學(xué)習(xí)階段理解一個(gè)網(wǎng)站的請(qǐng)求原理。
缺點(diǎn):安裝比較麻煩,配置麻煩,容易出錯(cuò)
集成安裝環(huán)境:Apache+PHP+MySQL已經(jīng)打包好,直接使用即可
優(yōu)點(diǎn):安裝簡(jiǎn)單,配置簡(jiǎn)單,不容易出錯(cuò),面板操作,非常方便
缺點(diǎn):不能根據(jù)自己的需求來安裝自己想要的軟件版本,因?yàn)榧绍浖惭b的軟件版本相對(duì)固定,更新相對(duì)比較慢
常用的集成軟件如:
等等
說明: 1、在前期學(xué)習(xí)階段,為了讓大家更好的理解網(wǎng)站的開發(fā)流程,我們選擇獨(dú)立安裝的方式進(jìn)行安裝
2、后期為了簡(jiǎn)便起見,我們選擇使用集成環(huán)境(公司)。
今天要解決的最主要的問題:搭建一個(gè)可以執(zhí)行PHP程序的web服務(wù)器,并使用PHP輸出“hello world”, 以及當(dāng)前時(shí)間,并能夠“連接到數(shù)據(jù)庫”
以及當(dāng)前時(shí)間,并能夠“連接到數(shù)據(jù)庫”
2. Apache的安裝、配置與管理
注意:
如果你的電腦沒有安裝VC14 ,請(qǐng)先安裝
2.1. PHP運(yùn)行環(huán)境安裝總體目錄規(guī)劃
確定我們要安裝的3個(gè)軟件的對(duì)應(yīng)目錄類似如下所示:
F:/wamp/
apache/
php/
mysql/
特別注意:
1,安裝的整個(gè)路徑中不要出現(xiàn)中文和空格等特殊字符。
2,以后php文件名也不要出現(xiàn)中文和空格等特殊字符。
2.2. Apache的安裝
2.2.1. Apache的安裝
官網(wǎng): http://www.apache.org 下載地址:http://httpd.apache.org
對(duì)應(yīng)的軟件如下:
注意:X86指的是32位系統(tǒng),X64指的是64位系統(tǒng),64位系統(tǒng)既可以裝64位的軟件,也可以裝32位的系統(tǒng),但是32位系統(tǒng)安裝不了64位軟件
Apache安裝步驟:
1,解壓“httpd-2.4.25-x86-vc11-r1.zip”,并將解壓后的所有文件拷貝到目標(biāo)文件夾wamp/apache下。
2,修改apache主配置文件(httpd.conf)中的“SVRROOT”為apache的實(shí)際目錄. conf是config的簡(jiǎn)稱
提示:要修改的文件為:wamp/apache/conf/httpd.conf,大約第38行處。
3,管理員模式下運(yùn)行cmd(或powershell),并在其中運(yùn)行apache/bin下的命令httpd.exe,如下所示:
如果是win10系統(tǒng),直接右鍵,點(diǎn)到一個(gè)叫做windows power shell(管理員)
如果是win7系統(tǒng),
右鍵,選擇以管理員身份運(yùn)行即可。
代表已經(jīng)是管理員運(yùn)行
進(jìn)入到
運(yùn)行 httpd.exe -k install
提示:
1,httpd.exe所在位置為:apache/bin/目錄中
2,如果想要?jiǎng)h除該服務(wù),則運(yùn)行:httpd.exe -k uninstall
解決443端口被占用的方法:
1)更改
把這兩個(gè)文件里面的443改成其他的數(shù)字即可,當(dāng)然不能跟一些特定的端口(80、3306)重復(fù)
使用編輯器進(jìn)行修改 CTRL+H 進(jìn)行批量替換
修改完后需要重新安裝(先卸載,再安裝)
2)找出被占用443端口的進(jìn)程,關(guān)閉該進(jìn)程
刪除占用443端口的進(jìn)程
然后正常啟動(dòng)
并點(diǎn)擊按鈕,變成綠色即可。
4,雙擊打開如下文件并啟動(dòng)服務(wù):wamp/apche/bin/ApacheMonitor.exe
如果出現(xiàn)以下圖標(biāo)說明安裝正確
注意:
如果安裝失敗,有可能是缺少如下的windows系統(tǒng)模塊:
則先雙擊安裝它,然后再安裝apache!
2.2.2. 測(cè)試安裝結(jié)果
在瀏覽器中測(cè)試安裝后的“默認(rèn)網(wǎng)站”:
瀏覽這個(gè)地址: http://localhost,或http://127.0.0.1
可以看到頁面,就表示安裝配置成功!
說明: localhost 指的是虛擬主機(jī)名(本地域名)
127.0.0.1 指的是本機(jī)的IP地址(本機(jī)回環(huán)地址)(每個(gè)電腦都有這個(gè))
192.168.8.114 本機(jī)網(wǎng)卡的實(shí)際IP地址(在一個(gè)網(wǎng)段內(nèi)是唯一的)
測(cè)試:
更改Apache配置文件httpd.conf
重啟Apache,也即點(diǎn)擊
restart即實(shí)現(xiàn)重啟,然后訪問時(shí)得
強(qiáng)調(diào):凡是更改Apache的配置文件,要想配置生效,都必須要重新啟動(dòng)Apache
一個(gè)重要理念:
所謂一個(gè)網(wǎng)站,就是一個(gè)文件夾!
所謂一個(gè)網(wǎng)頁,就是一個(gè)文件!!
所有的網(wǎng)站沒有中文目錄,里面的每一個(gè)目錄和文件都不要有中文
2.2.3. Apache目錄介紹
目錄/文件 | 介紹 |
---|---|
bin****/ | .exe, .dll等主要可執(zhí)行程序的目錄。 |
ApacheMonitor.exe | 監(jiān)視程序,通常用于apache服務(wù)的啟停操作。 |
httpd.exe | web服務(wù)器的主程序。該程序啟動(dòng)時(shí),才能訪問服務(wù)器。(通常都是以系統(tǒng)服務(wù)的形式啟動(dòng)) |
conf****/ | apache的配置文件目錄 |
httpd.conf | 是Apache的主配置文件,每次啟動(dòng)都會(huì)讀取的文件。 |
conf/****extra****/ | 其他配置文件目錄 |
ht****tpd_vhosts.conf | Apache虛擬主機(jī)的配置文件 |
htdocs****/ | 網(wǎng)站的默認(rèn)根目錄,用于保存網(wǎng)站中的網(wǎng)頁文件(html、php等) |
logs****/ | 存放apache運(yùn)行時(shí)的有關(guān)運(yùn)行記錄 |
modules****/ | 存放Apache的可擴(kuò)展模塊文件。 |
2.3. Apache的配置
2.3.1. apache主配置文件:httpd.conf
apache的主配置文件為:wamp/apache/config/httpd.conf
注意:
1,配置文件可以修改以實(shí)現(xiàn)某些功能。
2,配置文件修改后,需要重啟apache才生效。
3,配置文件代碼如果出錯(cuò)——?jiǎng)tapache重啟時(shí)會(huì)失敗。
2.3.2. 檢測(cè)配置文件語法
我們當(dāng)然是試圖寫“正確的”代碼,但誰都有可能出錯(cuò)。
關(guān)鍵是,我們常常不容易看出錯(cuò)在哪里!
這就需要有個(gè)“工具”來給我們指引方向:盡可能指出錯(cuò)誤所在!
工具有現(xiàn)成的,就是:wamp/apache/bin/httpd.exe 這個(gè)文件(命令行文件)
用法:
在cmd命令行窗口中:
目錄/httpd.exe(寫完整路徑) - t
2.3.3. 配置環(huán)境變量
如果配置好環(huán)境變量,該命令的執(zhí)行就更便捷,類似這樣:
httpd.exe(直接寫文件名,無需路徑) - t
配置環(huán)境變量的具體做法:
我的電腦》》右鍵》》屬性,如下所示:
在上述“path”中進(jìn)行編輯:
特別注意:不要?jiǎng)h除之前的內(nèi)容!!!!!!!!!!!!
配置好之后,就可以直接使用簡(jiǎn)單的命令語法了,如下:
2.4. Apache的啟動(dòng)和停止
啟動(dòng)了apache,就表示web服務(wù)器可以使用(網(wǎng)站可以訪問)。
停止了apache,就表示web服務(wù)器不能使用(網(wǎng)站不能訪問)。
2.4.1. 方式1:通過Apache服務(wù)監(jiān)視器(apachemonitor.exe)
文件apachemonitor.exe的位置在wamp/apache/bin目錄中。
2.4.2. 方式2:通過window系統(tǒng)服務(wù):
搜索服務(wù),出現(xiàn)以下界面,找到安裝的程序:
2.4.3. 方式3:通過命令行方式(需管理員身份):
啟動(dòng):net start apache2.4
停止:net stop apache2.4
2.5. 認(rèn)識(shí)幾個(gè)相關(guān)概念
2.5.1. 服務(wù)器:
一般,指對(duì)外界提供某種功能服務(wù)的計(jì)算機(jī)系統(tǒng)。
通常有這些常用服務(wù)器: web服務(wù)器(Apache), 郵件服務(wù)器, ftp服務(wù)器, .....
2.5.2. 客戶端:
通常就是訪問服務(wù)器的終端設(shè)備。在web訪問領(lǐng)域,通常也指瀏覽器軟件。
2.5.3. 請(qǐng)求:
就是客戶端向服務(wù)器端發(fā)出一定的“信息”,告知服務(wù)器“需要什么”。B/S架構(gòu)輸入一個(gè)網(wǎng)址,就是發(fā)起一次請(qǐng)求。
2.5.4. 響應(yīng)(應(yīng)答):
服務(wù)器根據(jù)訪問者(請(qǐng)求方)的請(qǐng)求所返回的相應(yīng)結(jié)果,結(jié)果其實(shí)就是一個(gè)網(wǎng)頁。
2.5.5. IP地址:
就是一個(gè)服務(wù)器的在互聯(lián)網(wǎng)上的“數(shù)字身份”,是其給分配的一個(gè)數(shù)字編碼,類似這樣:
192.168.8.114
112.34.123.82
小細(xì)節(jié):共分4段,用英文點(diǎn)號(hào)(.)分割,每一段的數(shù)字只能從0-255。
特殊IP地址:
127.0.0.1:表示本機(jī),就是自己正在操作(運(yùn)行程序)的電腦的ip
192開頭,172開頭的ip地址:規(guī)定只用于局域網(wǎng)的ip地址。
2.5.6. 域名:
就是一個(gè)服務(wù)器的對(duì)外“好看好記”的名字。
取域名的作用,最主要是給人看,使人容易記住。
瀏覽器通過域名并不能找到對(duì)應(yīng)服務(wù)器,而需要轉(zhuǎn)換為ip地址才能找到——這就是“域名解析”過程。
2.5.7. 域名解析:
就是,輸入域名時(shí)由某種設(shè)備或技術(shù),將該域名轉(zhuǎn)換為“ip地址”的過程——這樣才能找到該服務(wù)器。
域名解析服務(wù)器(DNS):互聯(lián)網(wǎng)上放置的很多的專門用于進(jìn)行域名解析(域名轉(zhuǎn)換為ip)的服務(wù)器設(shè)備。
網(wǎng)絡(luò)上專門有域名和IP轉(zhuǎn)換的DNS域名解析器
實(shí)際的解析過程:
1、現(xiàn)在本地的hosts文件中找IP和域名的對(duì)應(yīng)的關(guān)系
2、如果找不到,才去網(wǎng)上的DNS找域名和IP的對(duì)應(yīng)關(guān)系
3、最終是通過IP訪問服務(wù)器
所謂,解析,其實(shí)非常簡(jiǎn)單,就是“找對(duì)應(yīng)關(guān)系”,比如:
192.168.155.61 www.luo.com
23.12.87.33 www.lining.com
其含義是:訪問某個(gè)域名(網(wǎng)站),就可以找到對(duì)應(yīng)該域名所在行的IP地址。
每臺(tái)電腦,都有一個(gè)最精簡(jiǎn)的最小規(guī)模的“域名解析服務(wù)器”,其實(shí)只是一個(gè)文件:
位置在這里:windows/system32/drivers/etc/hosts(注意,最后這個(gè)是一個(gè)沒有后綴的文件名)。
在有些操心系統(tǒng)中,需要使用“管理員身份”才能修改該文件。
<u>演示:</u>
2.5.8. 端口:
可以理解為軟件(網(wǎng)絡(luò))領(lǐng)域的電子化的“窗口”。其實(shí),無非就是對(duì)于“一臺(tái)”電腦,用于區(qū)分其可以對(duì)外提供的“多項(xiàng)服務(wù)”的一種數(shù)字編號(hào)設(shè)定。
Apache(或別的web服務(wù)器軟件),默認(rèn)都使用80端口來提供網(wǎng)站對(duì)外訪問服務(wù)(就是web服務(wù))!
又比如:
ftp服務(wù)器通常使用21端口來提供文件上傳下載服務(wù)。
郵件服務(wù)器通常使用25端口提供發(fā)送郵件服務(wù),并使用110端口來提供收取郵件服務(wù)。
圖示如下:
2.5.9. 統(tǒng)一資源定位器(url)
url就是 uniform resouece locator,即“統(tǒng)一資源定位器”,即我們通常所說的“網(wǎng)址”,是用于描述網(wǎng)絡(luò)上某種資源的詳細(xì)位置信息的一種規(guī)范,是一串字符串。其形式如下:
協(xié)議://服務(wù)器名[:端口號(hào)][/路徑][/文件名]
其中,上述中括號(hào)中的部分是可以根據(jù)具體情況進(jìn)行省略的。
比如:
http://www.baidu.com
http://www.baidu.com/index.php
http://ent.people.com.cn/n1/2018/0603/c1012-30030747.html
http:// 瀏覽器會(huì)默認(rèn)省略
80 也會(huì)默認(rèn)省略
2.6. 網(wǎng)站訪問流程
從瀏覽器輸入一個(gè)網(wǎng)址,到我們看到這個(gè)網(wǎng)頁展示出來,其中的過程大致為:
1,先在本機(jī)的hosts文件中,查找域名所對(duì)應(yīng)的ip;
2,如找到,則根據(jù)該ip就可以找到并訪問該服務(wù)器了,服務(wù)器返回相應(yīng)網(wǎng)頁信息,訪問結(jié)束。
3,如沒有找到,則到互聯(lián)網(wǎng)上的dns服務(wù)器中,查找域名所對(duì)應(yīng)的ip;
4,如果找到,則根據(jù)該ip就可以找到并訪問該服務(wù)器了,服務(wù)器返回相應(yīng)網(wǎng)頁信息,訪問結(jié)束。
5,如果沒有找到,則瀏覽器會(huì)有類似“無法找到服務(wù)器”的報(bào)錯(cuò)提示,訪問結(jié)束。
完整圖示如下:
3. PHP的安裝與配置(重點(diǎn))
任務(wù)描述:
建立一個(gè)php文件(hello.php),內(nèi)容如下:
<?php
echo “hello world!”;
?>
放到apache/htdocs/目錄下,并訪問它:
http://localhost/hello.php
hello world
3.1. PHP的安裝:
PHP官方網(wǎng)站: https://www.php.net/
ts: thread safe 線程安全 windows系統(tǒng)使用apache作為web服務(wù)器用ts(多線程)
nts:: not thread safe 非線程安全 windows系統(tǒng)使用Nginx作為web服務(wù)器用nts(多進(jìn)程)
PHP的安裝也非常簡(jiǎn)單,就是拷貝文件——因?yàn)榻o大家的是一個(gè)“綠色版”。
將PHP語言包的壓縮文件解壓到計(jì)劃中的文件夾中即可。
3.1.1. PHP語言包中重要文件和文件夾:
1, php.exe: php程序,用于執(zhí)行我們寫的php腳本代碼。
2, php7apache2_4.dll:****供apche2.4使用的php7模塊文件。
3, php.ini-development 和 php.ini-production:用作php的配置文件。
4, ext目錄: 用于存放php中的擴(kuò)展模塊的文件
PHP能夠操作其他東西,如(數(shù)據(jù)庫、大數(shù)據(jù)、圖片等等),都是因?yàn)镻HP有操作這個(gè)的模塊
3.2. 配置Apache使Apache可以調(diào)用PHP:
在apche的主配置文件apache/conf/httpd.conf中,添加以下兩行:
** Apache之所以能做很多東西,也是因?yàn)锳pache有很多模塊。PHP是做為Apache的一個(gè)模塊而工作。**
1,加載PHP模塊到Apache中(作為Apache的眾多模塊之一):
在大約180行后,添加如下一行:
LoadModule php7_module php7apache2_4.dll這個(gè)文件的完整路徑(在php文件夾中)
2,給apache設(shè)定,php文件的后綴為“.php”:
在隨后添加如下一行:
AddType Application/x-httpd-php .php
重啟apache!!!
課堂測(cè)試:
新建一個(gè)網(wǎng)頁hello.php,其中輸出“hello world” :
查看源代碼,如下:
3.3. PHP的基本配置:
PHP的基本配置是一次性工作,做這一次就可以了。
3.3.1. 任務(wù)描述
下一個(gè)任務(wù):通過PHP輸出當(dāng)前時(shí)間,代碼如下:
我們發(fā)現(xiàn)輸出的時(shí)間結(jié)果是不對(duì)的。
這是因?yàn)镻HP默認(rèn)使用的時(shí)區(qū)是“格林威治時(shí)間”,比我們?cè)?小時(shí)。
我們需要對(duì)PHP進(jìn)行配置,并設(shè)定其運(yùn)行時(shí)間為我們的北京時(shí)間。
3.3.2. 獲得PHP的配置文件(php.ini)
在php語言包文件夾中,將php.ini-development文件拷貝一份,并修改文件名為:php.ini。
3.3.3. 配置相關(guān)文件
這里需要做兩件事情:
1,在apache的配置文件(httpd.conf)中設(shè)置php.ini的路徑
就是讓Apache知道我們的php.ini文件在哪里!apache是需要先讀取到php.ini才能生效的。
具體做法:
在apache的配置文件(httpd.conf)中,添加php模塊那行之后,再添加這一行:
PHPIniDir “php.ini文件所在路徑”
//注意:只要路徑,不要文件名
2,在php配置文件(php.ini)中設(shè)置timezone為PRC:
切記:凡是更改php.ini和httpd.conf都需要重啟Apache
3.4. 查看php執(zhí)行環(huán)境
執(zhí)行如下語句,就可以查看整個(gè)php的執(zhí)行環(huán)境相關(guān)信息:
phpinfo();查看PHP的相關(guān)一些配置及環(huán)境信息
4. MySQL的安裝與配置
mysql的官網(wǎng): https://www.mysql.com
4.1. MySQL的安裝
然后一步一步往下安裝:
4.2. MySQL的配置
mysql安裝結(jié)束后,就可以理解進(jìn)入到配置環(huán)節(jié):
檢測(cè)是否安裝好:
1、打開服務(wù),查看
可能出現(xiàn)的問題:如果你發(fā)現(xiàn)啟動(dòng)mysql命令失敗,那先來這里看看mysql服務(wù)是否啟動(dòng)
2、使用mysql的命令測(cè)試mysql是否安裝好
cmd進(jìn)入到
執(zhí)行 mysql.exe -uroot -p數(shù)據(jù)庫密碼
退出 ctrl+c
錯(cuò)誤分析:
原因有二:1、沒有安裝mysql服務(wù) 2、沒有啟動(dòng)mysql服務(wù)
5. 多站點(diǎn)虛擬主機(jī)配置
5.1. 默認(rèn)的初始站點(diǎn)配置
apache安裝后,有一個(gè)默認(rèn)站點(diǎn),其配置都在apache的主配置文件(apache/conf/httpd.conf)中。
主要包括如下幾項(xiàng):
1,站點(diǎn)域名:
ServerName localhost
域名是可以設(shè)置的!
2,站點(diǎn)位置(文件夾位置):
DocumentRoot F:\wamp\Apache\htdocs
站點(diǎn)位置是可以設(shè)置的!
3,站點(diǎn)文件夾的訪問權(quán)限設(shè)置:
使用<Directory> ... </Directory>配置項(xiàng)來配置。
4,站點(diǎn)默認(rèn)顯示的網(wǎng)頁(首頁):
DirectoryIndex index.php index.html
默認(rèn)網(wǎng)頁(首頁)是可以設(shè)置的。
一項(xiàng)項(xiàng)的設(shè)置示例如下所示:
5.1.1. 網(wǎng)站域名的設(shè)置
語法為:
ServerName:要設(shè)定的網(wǎng)站域名(服務(wù)器名)
5.1.2. 網(wǎng)站位置(根目錄)的設(shè)置
5.1.3. 網(wǎng)站默認(rèn)網(wǎng)頁的設(shè)置
默認(rèn)網(wǎng)頁就是輸入一個(gè)不帶網(wǎng)頁的文件名的路徑的時(shí)候(最常見的就是只輸入域名),自動(dòng)打開的網(wǎng)頁。
默認(rèn)網(wǎng)頁的設(shè)置方式如下:
(其中IfModule指令是可以省略的)
語法為:
DirectoryIndex 網(wǎng)頁名1 網(wǎng)頁名2 網(wǎng)頁名3 ....
說明:
1,可以設(shè)置多個(gè)網(wǎng)頁,前面的不存在,就依次找后面的。
2,該設(shè)置項(xiàng)可以放在<Directory>配置段中,表示該站點(diǎn)文件夾下的默認(rèn)網(wǎng)頁設(shè)置。
5.2. 多站點(diǎn)虛擬主機(jī)的含義:
在實(shí)際開發(fā)中,一個(gè)項(xiàng)目就是一個(gè)目錄,每個(gè)項(xiàng)目都必須有一個(gè)虛擬主機(jī),也即有一個(gè)域名
多站點(diǎn)虛擬主機(jī):
是指,在一臺(tái)物理意義上的電腦(服務(wù)器)中,配置多個(gè)網(wǎng)站/站點(diǎn),并都可以對(duì)外提供“web訪問服務(wù)”,外界看起來就是有多個(gè)站點(diǎn)(或多個(gè)服務(wù)器)的樣子!
每個(gè)站點(diǎn),也就是類似一個(gè)主機(jī)——這就是虛擬主機(jī)。
5.3. 配置多站點(diǎn)虛擬主機(jī):
配置多站點(diǎn)虛擬主機(jī)可以分兩步:
1, 在apache的主配置文件(httpd.conf),引入多站點(diǎn)的配置文件(虛擬主機(jī)配置文件)
2, 在虛擬主機(jī)配置文件(httpd-vhosts.conf)中,再挨個(gè)網(wǎng)站進(jìn)行配置(每個(gè)網(wǎng)站一段配置)
分述如下:
5.3.1. 在apache的主配置文件中引入虛擬主機(jī)配置文件:
5.3.2. 在虛擬主機(jī)配置文件(httpd-vhost.conf)中挨個(gè)站點(diǎn)進(jìn)行配置
在虛擬主機(jī)配置文件中,就可以配置多個(gè)站點(diǎn)了,每個(gè)站點(diǎn)的形式大致如下:
<VirtualHost *:80>
#網(wǎng)站的根目錄
DocumentRoot "D:\xuexi"
#虛擬主機(jī)(虛擬域名)
ServerName www.xuexi.com
<Directory "D:\xuexi">
#顯示所有目錄結(jié)構(gòu)
Options Indexes FollowSymLinks
#顯示默認(rèn)的網(wǎng)頁
DirectoryIndex index.php index.html index.htm a.php
#允許重寫
AllowOverride None
#要求授權(quán)
Require all granted
</Directory>
</VirtualHost>
如果開啟了http-vhost.conf,那么原有的localhost的配置不生效
但是又想使用localhost,怎么辦?
最后,一個(gè)觀念總結(jié):
一個(gè)網(wǎng)站,就是一個(gè)文件夾;反過來說,一個(gè)文件夾,就可以當(dāng)做一個(gè)網(wǎng)站!
誰在其中發(fā)揮作用?——Apache!