close

PHP 學習紀錄(一):PHP簡介、網站基本概念、環境建置

Bilibili有需多公開課可以學習,我所選擇的是 黑馬程序員 的 PHP教程

以下為我的學習紀錄與重點整理

一、PHP簡介

1.什麼是PHP

PHP定義:一種運行在服務器端的 HTML 腳本/編程語言

簡單、面向對象、解釋型、安全、性能高、獨立架構、可移植的動態腳本語言 

2.靜態網站與動態網站的區別

(1)靜態網站(WEB1.0時代)

網站發布後,無論是否有用戶訪問, 每個靜態網頁的內容都保存在服務器上,每個網頁都是一個獨立文件

內容穩定,容易被搜尋引擎檢索

沒有數據庫支持,維護工作量大

交互性差,功能方面有較大限制 

 

(2)動態網站(WEB2.0時代)

交互性高,網頁根據用戶要求和選擇改變和響應,瀏覽器作為客戶端成為動態交流的橋樑

自動更新,無須手動更新HTML文檔,會自動生成頁面大大減少工作量

因時因人而變,不同時間、不同用戶訪問同一個網址會出現不同頁面 

 

二、網站基本概念

1.服務器概念

服務器(Server),又作伺服器。

服務器:能夠提供服務的機器,取決於機器上所安裝的軟體(服務軟體)

響應請求並進行處理,應具備承擔服務並保障服務的能力

服務器構成包括處理器、硬碟、內存、系統與通用計算機架構類似

根據服務類型不同,分為文件服務器、數據庫服務器、應用程序服務器、WEB服務器等  

2.IP概念

IP(Internet Protocol):網路之間的互聯協議,為計算機網路相互連接而設計的協議

IP地址具有唯一性,每台電腦(網卡)都有一個唯一的IP位址

3.域名

域名(Domain Name) :由點分隔的名字(例如、www.google.com)組成的Internet上某一台計算機或計算機組的名稱

用於在數據庫傳輸時標示計算機的電子方位

一個域名的目的是便於記憶和溝通一組服務器的地址

 

4.DNS

DNS 域名系統(Domain Name System):作為網路上域名和IP地址相互映射的分布式數據庫

能讓用戶更方便訪問互聯網而不用記住被機器讀取的IP數串。

通過主機名,最終得到主機名之對應IP地址的過程叫做域名解析

以下為範例:

(  用戶輸入域名 localhost   =>   DNS(localhost 127.0.0.1)   =>   服務器電腦  )

 

5.端口

端口 (Port) :設備與外界通訊交流的出口。

分為虛擬端口、物理端口。

虛擬端口指計算機內部或交換路由器內的端口。

以下為範例:

(  用戶輸入域名 localhost:端口   =>   DNS(localhost 127.0.0.1)   =>   服務器電腦   =>   服務軟體(透過端口) )

三、web程序訪問流程

瀏覽器發起訪問  =>  DNS域名解析  =>  服務器電腦  =>  服務軟體(透過端口)

1.靜態網站訪問

1.JPG

※圖片擷取自黑馬程序員影片

2.動態網站訪問

相比靜態網站多出了:服務器端解析、資料庫

2.JPG

※圖片擷取自黑馬程序員影片

 

四、安裝Apache之httpd.exe介紹

  1. 安裝Apache
  2. Apache目錄結構說明
  3. Httpd.exe詳細應用

1.安裝Apache

由於我的作業系統是Windows

Apache官網 下載符合Windows運行的版本

解壓縮至自己想放置的目錄

我安裝在以下路徑:E:\server\apache\Apache24

並用記事本開啟conf目錄中的httpd.conf

將路徑修改為安裝的目錄Define SRVROOT "E:\server\apache\Apache24"

2.Apache目錄結構說明

以下為apache目錄

3.JPG

bin、cgi-bin:windows下的一些可執行文件

  • ab.exe壓力測試
  • ApacheMonitor.exe右下圖標控制
  • httpd.exe Apache主程式

conf:配置文件目錄

  • httpd.conf 主配置文件
  • extra目錄則包含子配置文件

htdocs:Apache默認的主機位址(網站根目錄)

modules:Apache的所有功能都是模塊化的   

   

3.Httpd.exe詳細應用

(1)服務器進程:運行之後才能夠工作

(2)查看Apache功能及配置是否錯誤:http或httpd.exe(文件所在目錄)

開啟cmd並切換到apache的bin目錄即可運行httpd.exe

4.JPG

※左圖為cmd指令,右圖為服務器進程

使用 ctrl+c 即可關閉

(3)查看使用模塊

輸入命令httpd.exe -M 

5.JPG

static為靜態加載:Apache加載即可直接使用

shared為動態加載:使用到的時候才會加載 

(4)驗證配置文件是否有效

輸入命令httpd -t

6.JPG

只要識別到 Syntax OK 就代表可以正常使用

(5)安裝apache

使用系統管理員開啟cmd

輸入 httpd.exe -k install

若發生錯誤只要去下載缺少的VC即可

(6)運行apache

輸入 httpd.exe -k start 開始運行

輸入 httpd.exe -k stop 停止運行

五、配置默認站點

  1. 讓Apache確定服務器訪問的位置:網站文件夾所在位置
  2. 方便用戶使用名字訪問對應的網站:給對應文件夾取一個別名
  3. 凡是涉及到Apache配置文件的修改,需要重啟Apache才能生效
  4. 實現DNS域名解析:通常默認站點為本地 DNS :host文件

1.讓Apache確定服務器訪問的位置

配置網站文件夾所在位置

使用記事本開啟conf目錄的httpd.conf文件

DocumentRoot "${SRVROOT}/htdocs"

也就是預先設置的路徑為根目錄中的htdocs目錄

2.方便用戶使用名字訪問對應的網站

給對應文件夾取一個別名

在httpd.conf文件中查找ServerNa

7.JPG

這裡其實可以不用設置端口(將:80去掉)

因為端口可以使用listen監聽端口

8.JPG

3.凡是涉及到Apache配置文件的修改,需要重啟Apache才能生效

使用 httpd.exe -k restart 重啟即可

4.實現DNS域名解析:

通常默認站點為本地 DNS :host文件

host文件在此目錄:C:\Windows\System32\drivers\etc

如果沒有權限修改,可以使用系統管理員開啟記事本,再用開啟舊檔的方式開啟host文件(開啟類型設置為所有檔案)

將"127.0.0.1       localhost"加入host文件中

9.JPG

 

 

 

設置完成後開啟cmd並運行apache即可看到It works訊息頁面

10.JPG

 

 

六、安裝PHP

  1. 安裝與配置 PHP 語言
  2. PHP的目錄結構說明
  3. Php.exe的應用

1.安裝與配置 PHP 語言

由於我的作業系統是Windows

PHP官網 下載符合Windows運行的版本

※PHP底層是C語言的實現,版本號的VC代表編譯環境

解壓縮至自己想放置的目錄,並修改目錄的名稱為php7

我放在以下路徑:E:\server\php7

2.PHP的目錄結構說明

dev:一些設備的驅動

ext:擴展包:PHP很多功能透過加載擴展包實現

php.exe:核心解析文件

php.ini:配置文件(將後綴development去除)

※配置php時區:開啟php.ini

移除timezone的註釋並添加台灣時間

date.timezone = "Asia/Taipei"

 

3.Php.exe的應用

在web目錄創建一個 index.php

並添加以下代碼進行測試:   

<?php

//輸出
echo "hello world";

?>

接著使用cmd運行php.exe -f E:/server/web/index.php

11.JPG

可以看到已經解析成功了

七、PHP 加載 Apache

  1. 修改web文件目錄
  2. 找到php與apache的關聯文件
  3. 在apache的httpd.conf LoadModule PHP模塊
  4. 分配任務給PHP模塊 

1.修改web文件目錄

在server目錄創建一個web文件夾

並修改apache的httpd.conf文件

將Document修改為web文件夾的路徑

DocumentRoot "E:\server\web"
<Directory "E:\server\web">

2.找到php與apache的關聯文件

在php7目錄中可以找到與apache的關聯文件

12.JPG

3.在apache的httpd.conf LoadModule PHP模塊

在server目錄創建一個web文件夾

並修改apache的httpd.conf文件

添加以下內容:   

LoadModule php7_module E:/server/php7/php7apache2_4.dll

4.分配任務給PHP模塊

在apache的httpd.conf文件

添加以下內容:

#分配工作給PHP:所有以.php為後綴的文件都交給php.exe去處理
AddType application/x-httpd-php .php

4.加載php配置文件

在apache的httpd.conf文件

添加以下內容:

#加載php配置文件
PHPInidir "E:/server/php7

以上步驟完成後運行apache並在瀏覽器開啟localhost/index.php

就可以看到已經成功解析了

13.JPG

接著測試能否查看php信息,將index.php修改以下內容:   

<?php

//php信息
phpinfo();

?>

也可以正確顯示了

14.JPG

 

八、Mysql

  1. 下載mysql
  2. 設置系統環境變數
  3. 配置mysql
  4. 安裝mysql
  5. 初始化mysql
  6. 運行mysql
  7. 創建超級使用者與密碼
  8. 訪問mysql 

1.下載mysql

MySQL官網下載

38.JPG

2.設置系統環境變數

在開始功能表對本機點選右鍵、內容開啟系統頁面

點選進階系統設定、環境變數

並將mysql目錄位置添加至使用者變數的path路徑中

16.JPG

3.配置mysql

將下載的檔案解壓縮至C槽,並在其中創建<my.ini>配置文件

加入以下內容:   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[mysqld]
#設置mysql的安裝目錄
basedir =C:/mysql-8.0.11-winx64
#設置mysql數據庫的數據的存放目錄
datadir =C:/mysql-8.0.11-winx64/data
#設置默認使用的端口
port =3306
#允許最大連接數
max_connections =200
#允許連接失敗的次數。這是為了防止有人試圖攻擊數據庫
max_connect_errors =10
#服務端使用的字符集
character-set-server =utf8mb4
#數據庫字符集對應一些排序等規則使用的字符集
collat​​ion-server =utf8mb4_general_ci
#創建新表時將使用的默認存儲引擎
default-storage-engine =INNODB
#默認使用“mysql_native_password”插件作為認證加密方式
# MySQL8.0默認認證加密方式為caching_sha2_password
default_authentication_plugin =mysql_native_password
 
[mysql]
#設置mysql客戶端默認字符集
default-character-set =utf8mb4
 
[client]
default-character-set =utf8mb4
port =3306

在bin目錄的路徑列啟動cmd

4.初始化mysql?

1
mysqld --initialize-insecure --user:mysql --console

5.安裝mysql

1
mysqld --install mysql

6.啟動mysql   

1
net start mysql

7.啟創建超級使用者與密碼

1
alter user 'root'@'localhost' identified by 'test123456';

8.訪問mysql(密碼為test123456):   

1
mysql -u root -p

九、安裝虛擬主機

  1. 虛擬主機分類
  2. 加載httpd-vhosts.conf
  3. 配置虛擬主機文件
    1. 增加基於域名的虛擬主機標籤
    2. 配置虛擬主機重要信息
    3. 權限配置
  4. 配置hosts文件  

1.虛擬主機分類
IP虛擬主機、域名虛擬主機

2.加載httpd-vhosts.conf

開啟 apache/conf 的 httpd.conf

將虛擬機的註釋去掉

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

3.配置虛擬主機文件

開啟 apache/conf/extra/httpd-vhosts.conf 文件

將預設的虛擬機標籤刪除

(1)增加基於域名的虛擬主機標籤

17.JPG

(2)配置虛擬主機重要信息

DocumentRoot 站點位置:放網頁的文件夾位置

ServerName 主機名稱:本地開發隨意取名,對外提供服務則應為真實的域名

(3)權限配置

 權限是針對文件夾的,通常至少會設置網站的跟目錄,實際上可以設置N個

Directory:針對指定目錄

Require:訪問權限

 Directoryindex:用戶未指定訪問腳本時默認提供的文件

最後配置如下:

1

#<VirtualHost *:80>
    #指定文檔位置、網站根目錄
    DocumentRoot "E:\server\web"
    #確定主機名稱
    ServerName www.ivankao.com
    #權限管理
    <Directory "E:\server\web"
        #允許所有人訪問
        Require all granted
        #配置默認訪問頁面
        Directoryindex index.php index.html
    </Director>

#</VirtualHost>

4.配置hosts文件

host文件在此目錄:C:\Windows\System32\drivers\etc

如果沒有權限修改,可以使用系統管理員開啟記事本,再用開啟舊檔的方式開啟host文件(開啟類型設置為所有檔案)

將"127.0.0.1       www.ivankao.com"加入host文件中

最後restart Apache後用瀏覽器即可確認成功結果

18.JPG

arrow
arrow
    全站熱搜

    ivankao 發表在 痞客邦 留言(0) 人氣()