前言
由於本人最近在學習PHP開發,所以難免要涉及到AMP,NMP之類的環境了。當然最開始我使用的是PHPWAMP和PHPStudy之類的集成環境。但是由於本人自己之前安裝了MySQL server,當我再次打開我自己的MySQL的時候,好像因爲這些集成環境的原因,我自己安裝的的MySQL居然打不開了(因爲本人編程功底較弱,所以忙猜是不是服務之類的改成了集成環境的所以導致我連接不進去),總之到最後我沒能解決這個問題。
但我相信肯定是有辦法解決的,雖然到了最後我決定自己來安裝這個AMP環境,順便也好自己學習一下Apache和PHP之類的,而不是單純的成爲人家的用戶。
準備工作
那麼我需要在這裏說一下,本人安裝的順序是APM(Apache->PHP->MySQL),就我本人理解的話,Apache一定是要先安裝的,因爲後面的調試,環境什麼的,都需要用到Apache。
Apache安裝
- 下載鏈接:點擊跳轉
這個是Apache的官網,我們點擊下述鏈接,可能界面版本顯示不一樣,畢竟時代會變的,大人,一般來說我選擇最新版。
然後跳轉到如下界面,紅框裏面的是編譯好的環境,下面三個都是集成環境,因爲是要本地自己開發搭建環境,所以請選擇紅框內的鏈接。
在這裏我選擇了Apache Haus,其實也可以選擇Apache Lounge。當然到這個界面相信大家都會下載了,不過還是貼一下。
下載好之後解壓到自己想存放的文件夾,這裏我放在了C盤,路徑爲C://Apache/
接下來打開該目錄底下的conf文件夾,打開httpd.conf這個配置文件。 - Apache默認存在路徑:“c:\Apache24” 下(版本號可能不同)。如果跟你的安裝路徑不同,你需要修改路徑參數配置:
Define SRVROOT "你的Apache安裝目錄"
所以這裏我應該寫Define SRVROOT "C:/Apache"
- 當然還有一個最重要的端口,默認爲80,但可能存在端口占用的情況。所以在開始前請在cmd中輸入如下指令查看:
netstat -ano
- 如果端口被佔用了就換一個端口吧,在httpd.conf中更改Listen就好了。這裏我用8499(本人QQ號前綴)
- 做完這一切之後,在cmd中進入到Apache安裝目錄底下的bin文件夾中,在cmd中輸入
httpd -k install
,因爲我這邊已經安裝好了,所以無法展示成功的例子,大家看英文差不多就可以知道是否安裝成功了。 - 做完上一步的話,可以看到Apache服務已經被安裝了。【查看方法:任務管理器->服務->查看服務】
- 這時候還是在Apache底下的bin目錄下用cmd輸入
httpd -k start
,這裏順帶一提重啓命令,後面會經常用到httpd -k restart
,到這裏Apache服務就啓動了,當然你也可以在服務列表裏面手動啓動它不,這不夠B格,當然爲了鍛鍊技術還是建議自己cmd輸入。 - 現在瀏覽器裏輸入
localhost:【端口號】
就可以查看Apache是否啓動成功了。我這邊本地自己配製的端口號爲8499(本人QQ開頭),所以我在瀏覽器中輸入localhost:8499
,看到如下界面說明安裝成功。 - 因爲後續安裝的需要,所以這裏還是在Apache安裝目錄下的bin文件夾中用cmd輸入
httpd -k stop
來暫停Apache服務來方便我們下一步PHP的安裝,如果你只需要Apache,當然到這一步就完全ojbk了。
PHP安裝
- 首先還是po出來PHP下載地址:妙啊
- 這裏我下載的是線程安全版(不知道有啥區別,
多多益善) - 然後又是解壓到自己想放PHP的目錄,我這裏還是放在了C://PHP/
- 然後將 PHP 的根目錄下的php.ini-development複製一份並改名爲php.ini,作爲PHP的配置文件,然後我們打開php.ini進行修改。在php.ini中找到extension_dir,去掉註釋將其修改爲**“PHP安裝路徑\ext”,我安裝在了C:/PHP/**,所以我這邊是
extension_dir = "C:/PHP/ext"
MySQL安裝
- 其實我有點懶得寫了,不過大家可以去菜鳥【MySQL安裝教程】看看,或者我過會再寫
妙啊。 - 這裏是MySQL最新版本【地址】
- 不過安裝的話,因爲本人不需要其他服務,所以只安裝了MySQLServer。這一部分安裝因爲我沒保存MySQL安裝包,大家可以看看菜鳥教程,或者CSDN逛一下。這裏就不多說了,不過還是講一下,我選擇的Server Only,當你的MySQL安裝好了之後,準備工作就全部結束了,下面我們開始Apache連接PHP,PHP連接MySQL了。
AMP連接工作
Apache連接PHP
這裏我們主要要做的就是修改Apache安裝根目錄底下的conf文件夾下的 httpd.conf來配置 Apache和PHP協同工作。
- 將Require all denied 改爲Require all granted(白嫖來的,我也不知道爲啥)
<Directory /> AllowOverride none Require all granted </Directory>
- 增加一行AddType application/x-httpd-php .php,這個是用來增加Apache1對於php後綴文件的支持的。
- 現在需要增加index.php可以作爲自己索引頁,具體做法就是在DirectoryIndex index.html後面增加索引頁index.php。
- 到了這一步我們基本完成了步驟,這時候我們可以在Apache根目錄/htdocs/【我這裏是C:\Apache\htdocs】下創建一個HelloPHP.php
(只是我想這麼叫),裏面輸入:<?php phpinfo(); ?>
- 接下來測試一下吧,在Apache根目錄下的bin目錄打開cmd輸入
httpd -k start
啓動Apache,然後打開瀏覽器,輸入:localhost:【你的端口】/HelloPHP.php,這裏我是localhost:8499/HelloPHP.php
,不記得端口號的可以查看上面,配置在httpd.conf裏面啦,Listen對應的值。打開之後大概顯示如下。
- 這時候我們還是要再次關閉Apache服務,依舊是在Apache根目錄下的bin文件夾中打開cmd輸入
httpd -k stop
,然後接下來我們配置PHP+MySQL。
PHP連接MySQL
這裏我們要做的就是在PHP中加載連接MySQL的程序集。這邊有PHP官網的教程【怎麼打不開?!!】
- 打開php.ini ,在extension板塊中找到extension=php_mysqli.dll然後給它去掉註釋就行了。
說明:不同的PHP版本可能提供不同的連接mysq的程序集,去ext文件夾下看看PHP提供的是什麼這裏就寫什麼。不同的程序集可能在連接數據庫的時候使用的函數也不一樣。
- 這時候我們找到前文的HelloPHP.php修改爲如下內容:
<?php $mysqli = mysqli_connect("localhost","root","這裏是你安裝MySQL時候的密碼") or die("cannt connet"); ?>
- 啓動Apache服務 ,在Apache根目錄下的bin目錄打開cmd輸入
httpd -k start
啓動Apache,然後打開瀏覽器,輸入:localhost:【你的端口】/HelloPHP.php,這裏我是localhost:8499/HelloPHP.php
,不記得端口號的可以查看上面,配置在httpd.conf裏面啦,Listen對應的值。然後發現沒有錯誤信息,那麼到此AMP環境的搭建就完成了。
總結
- 對於開發服務器和網站來說,我覺得這些知識還是很必要的。不過搭建起來着實費勁。
- 當然,除此之外我還搭建了VS Code+XDebug+PHP的調試環境還有IDEA+XDebug+PHP的調試環境,因爲功力較弱,所以比較推薦IDEA調試,後面我可能會寫一篇相關的文章來介紹如何使用xdebug來斷點調試php。
- 最後,
PHP是世界上最好的語言【狗頭保命】!!!