搭建apache php mysql環境七部曲

2021-07-04 18:23:52 字數 3847 閱讀 4059

學了很多東西,發現只要需要再次使用的時候就一下子又不知所措,又得去重新學一遍。為什麼會一直這樣,現在發現是因為學的新的知識後疏於對知識的總結,導致以為自己明白了,實則不然。

首先說明軟體版本:

軟體的安裝就不說了,都是下一步下一步。

當3個軟體安裝好了後就進入比較複雜的環境搭建,萬事開頭難,對於我們剛接觸一門新技術,很多時候都是死在了環境搭建上

第一:

php是作為apache的乙個模組來執行的,所以首先要做的是進入apache的conf目錄下開啟配置檔案httpd.conf,然後crtl+f查詢 loadmodule 指令(大概在128行左右)複製上面的格式後面的內容替換為php目錄下php5apache2_2.dll  (這個dll在php目錄下)  

最終效果:     loadmodule php5_module "d:/amp/php/php5apache2_2.dll"   (目錄是根據自己安裝軟體時的目錄決定)

第二:

既然php是作為apache的模組來執行,那麼我們就得告訴apache凡是以.php字尾的檔案都交給php模組處理。

一共有3種方法,同樣是在httpd.conf中配置

第二種:使用addhandler指令(不推薦,因為這種指令會導致只要檔名中有.php都會被 當作php檔案來解析如abc.php.html)

第三種:使用filesmatch指令 :

\.php$>

第三:

php在執行是時候需要載入php的配置檔案,因為php作為apache的模組,所以要告訴apache這個配置檔案在**。

1.首先進入php目錄,通過查詢可以發現有2個字尾名為php.ini-(英文 開發者和生產者)的檔案,隨便選乙個複製乙份重新命名為php.ini(記住別忘記刪除空格)

2.進入httd.conf配置檔案中,找個位置建議就放在loadmudole下面方便檢視和修改。用 phpinidir指令配置  如:phpinidir "d:/amp/php"   (不用寫php.ini)

第四:

配置php.ini。要對php進行初始化比如開啟擴充套件目錄。開啟php.ini 查詢extension指令,配置如:extension_dir = "d:/amp/php/ext"   (大概822行)

然後繼續往下開啟dll擴充套件庫,如extension=php_gd2.dll、extension=php_mysql.dll、extension=php_mysqli.dll (去掉前面的分號即可)(大概960行)

繼續往下配置時區如:date.timezone = prc   (大概1100行) prc:中華人民共和國(people's republic of china)

配置檔案的格式都是非常嚴格的,一定頂格寫。每次配置完成後都需要重啟apache配置檔案才會生效。

如果某次配置檔案後重啟apache發現重啟不了,一般都不是網上所云的80埠占用,一般都是你配置檔案中格式的問題(如頂格、空格、字母大小寫、分號等一系列小疏忽導致的)

第五:

一台伺服器如果要**多個站點的話就的使用基於網域名稱的虛擬主機技術

1.首先進入httpd.conf中查詢virtual hosts指令把他下面的那段指令前面的注釋(#號)去掉,表明開啟vhost配置。

2.進入apache\conf\extra下找到httpd-vhosts.conf開啟後使用namevirtualhost 指令, 下面已經寫好一句其中*號表示所有ip,80表示埠。

3.任意複製下面乙個指令段,刪除多餘的,留下需要用的2個如:

documentroot "d:/amp/apache/htdocs"

servername localhost

4.通過瀏覽器訪問某個網域名稱的時候,需要進行網域名稱的解析,首先找本地的hosts檔案,如果能解析,就使用本地的配置,如果不能解析,則去外網進行解析。所以我們開啟本地hosts檔案(在c:\windows\system32\drivers\etc)開啟後根據自己需要配置 如  127.0.0.1   localhost       127.0.0.1   zsc.com

/ 和 \ 的使用 寫目錄時候建議都使用/因為linux下面都是/,為了程式的可移植性應該都是用/

第六:

訪問許可權配置:

第5中配置好了虛擬主機後如果我們去訪問會發現許可權被禁止,因為apache有嚴格的許可權管理,所以我們要用directory指令去配置訪問許可權,在httpd.conf中找到directory指令段複製下來然後貼上到httpd-vhosts.conf中如:

documentroot "c:/users/jack/desktop/zsc" //**目錄

servername zsc.com // 網域名稱

//**根目錄

options indexes followsymlinks // indexes表示如果**如果沒有index.html這個檔案話就開啟索引 followsymlinks據說是linux下的符號鏈結(不建議開啟)

allowoverride all //是否開啟分布式檔案 。後面再說

order deny,allow //具體的許可權控制 order表示順序

allow from all //允許所有配合上面使用(後面總結)

order deny,allow有預設的效果:order deny,allow預設允許所有 order allow,deny預設拒絕所有。

誰先誰後不影響最終判斷結果,但都會被判斷到。

allow from all或者deny from all 或者 allow/deny from 192.168.1.1等配合使用

如果http.conf和httpd-vhosts.conf都配置了訪問許可權那麼以httpd-vhosts.conf為準

第七:

開啟分布式檔案。

allowoverride none 改為 allowoverride all 就開啟了分布式配置。

分布式配置檔案,名字是固定的在**目錄中建立名為.htaccess的檔案

配置的許可權在該目錄及其子目錄生效。

為什麼要這樣做的原因是因為在實際開發中開發者的**是託管給伺服器上的,而如果我們每次需要修改訪問許可權的時候是否都要去叫伺服器管理員給我們去修改配置檔案呢。這樣做顯然不可能,所以為什麼不能讓我們自己在編碼的時候就能自己選擇控制訪問許可權豈不是更好。

優點:

分布式配置檔案修改之後,不需要重啟apache,立即生效。

開發者有自由配置許可權的機會。

缺點:

效能損失,一旦開啟分布式配置檔案,apache會在每個資料夾下搜尋.htaccess。

總結:

linux解除安裝apache php mysql

解除安裝步驟如下 解除安裝mysql root localhost rpm qa grep mysql mod auth mysql 2.6.1 2.2 php mysql 4.3.9 3.15 mysql devel 4.1.20 1.rhel4.1 mysql 4.1.20 1.rhel4.1 ...

linux解除安裝apache php mysql

解除安裝步驟如下 解除安裝mysql root localhost rpm qa grep mysql mod auth mysql 2.6.1 2.2 php mysql 4.3.9 3.15 mysql devel 4.1.20 1.rhel4.1 mysql 4.1.20 1.rhel4.1 ...

vs mysql搭建 VS mysql EF搭建

ado.net實體資料模型預設是不支援mysql資料庫的,本文件將介紹如何讓vs ado.net實體資料模型支援mysql。2.安裝mysql,勾選裡面的for visual studio外掛程式,版本不能錯 mysql connector net x86 mysql for visualstudi...