最近在學習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會自動指向到多站點置配中的第一個站點目錄
以上就是本文的全部內容,希望對大家有所幫助,同時也希望多多支持!