最近在學習PHP,以下是看PHP100視頻教程,做的學習筆記,在這裡存放以便今後使用。
apache--PHP--DB(mysql)
一、apache:基本工作
·使用者通過瀏覽器訪問伺服器的檔案,它就將該檔案傳遞給使用者,在使用者的瀏覽器顯示該檔案的內容。
·普通文字檔,可以通過apache直接傳給使用者瀏覽器顯示。
·程式檔案,比如PHP,它不能直接在瀏覽器顯示,所以需要apache先調用PHP的某個組件,將PHP檔案解析執行後,再返回給apache,apache再將這個執行後的檔案,傳給使用者瀏覽器顯示。
關鍵配置:
設定檔:conf/httpd.conf;(每次修改完這個檔案後,需要重啟apache)
1.引入PHP組件
因為在使用者訪問PHP檔案時,apache能夠調用到PHP組件,來執行該PHP檔案。所以apache在配置的時候,需要在設定檔中,將PHP的組件和它關聯起來。
例如我將apache安裝在F盤的Program裡面,所以它的組件路徑就是:LoadModule php5_module "f:/Program Files/php54/php5apache2_2.dll"
2.設定什麼時候去調用PHP組件
由於不是使用者每次訪問的都是PHP檔案,所以不是需要每次都讓apache都要去調用PHP解析組件。因些需要讓apache判斷什麼時候,才去調用apache.即尾碼名,是.php的時候才調用。
在這個標籤裡面<IfModule mime_module></IfModule>加如下這句:
AddType application/x-httpd-php .php
3.PHP的置配文,路徑
PHPIniDir "f:\Program Files\php54"
以上是最關鍵,必不可少的配置。
其它配置:
在PHP目錄中,有兩個設定檔 php.ini-development和php.ini-productor 把其中一個名字改成 PHP.INI 就可以了
1.目錄許可權:
【<Directory "F:/Program Files/Apache2.2/htdocs">】通過這個設定,可以控制訪問伺服器的目錄。
注意這裡面的目錄層級要大於或等於【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】
例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能訪問htdocs目錄下的網站目錄。
<Directory "F:/Program Files/Apache2.2> 可以訪問Apache2.2目錄下的所有網站目錄。
2.預設訪問首頁的檔案名稱配置:
【<IfModule dir_module>DirectoryIndex index.html index.htm index.php</IfModule>】
通過這個設定,可以控制網站預設的首頁;
類似於IIS伺服器配置的主機頭;
3.日誌
logs/access.log 這個檔案記錄使用者的訪問,訪問的IP 頁面,等資訊;
4.錯誤提示資訊配置
# Some examples:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 http://FREESKYC-B2D592.bavo/subscription_info.html#
二、多網站配置
原理:使用者通過域訪問同一個IP地址的伺服器時,伺服器上的apache將不同的網域名稱,指向伺服器不同或相同的檔案夾目錄。這個過程也叫虛擬機器主機;
1.目錄許可權:
【<Directory "F:/Program Files/Apache2.2/htdocs">】通過這個設定,可以控制訪問伺服器的目錄。
注意這裡面的目錄層級要大於或等於【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】
例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能訪問htdocs目錄下的網站目錄。
<Directory "F:/Program Files/Apache2.2> 可以訪問Apache2.2目錄下的所有網站目錄
2.載入多網站的組件:
在apach的設定檔靠近最下方有
#Include conf/extra/httpd-vhosts.conf
把這個#號去除,就可以載入這個組件;
3.配置這個多網站的組件
在apach安裝目錄裡面的
conf\extra\httpd-vhosts.conf
找到這個檔案 進行配置
4.配置說明:
NameVirtualHost *:8080 這裡的連接埠號碼,必須和apach設定檔中一至
ServerAdmin:管理員的郵件地址,為不同網站可以設不同的郵件地址,如果不設定,預設會找到apach設定檔裡面的管理員郵件地址;
DocumentRoot 是指向的虛擬目錄
ServerName: 需要綁定的網域名稱或IP
ServerAlias 綁定多個網域名稱
ErrorLog 錯誤記錄檔存放路徑,為不同網站建立不同的錯誤記錄檔
CustomLog 記錄檔
以上只需要配置好
例如:
<VirtualHost *:8080>DocumentRoot "F:/Program Files/www/bcom"ServerName 127.0.0.3:8080</VirtualHost>
兩個就可以了,複製以上代碼,改變目錄和綁定的網域名稱,就可以有多個網站了
要注意的是,
*在apach裡面的目錄許可權要和這個多網站的目錄對應
即:
<Directory "F:/Program Files/www">
*配置好多網站之後,apach就不會去找先前預設的網站了
這一句也就不起作用了:DocumentRoot "F:/Program Files/apach/htdocs"
*並且在地址欄目中如果輸入了不存的,綁定的網域名稱,apach會自動指向到多網站置配中的第一個網站目錄
以上就是本文的全部內容,希望對大家有所協助,同時也希望多多支援雲棲社區!