剛開始學習php的時候很多人應該都碰到過搭建開發環境的問題吧,我當時也遇到過不少坑,特此記錄一下,但願能爲其餘人提供一些幫助。php
首先是去官網下載壓縮包:html
不知道下載地址的戳下面:前端
Apache服務器:https://www.apachelounge.com/download/mysql
MySQL數據庫:https://dev.mysql.com/downloads/mysql/sql
PHP:https://www.php.net/downloads.php數據庫
phpMyAdmin:https://www.phpmyadmin.net/apache
請確保你的操做系統已經安裝了相關的VC++運行庫。瀏覽器
接下來,新建一個wamp文件夾,把下載好的文件解壓到這裏。注意將phpMyAdmin解壓到Apache24的htdocs目錄,這是訪問服務器的默認目錄,建議給它創建一個桌面快捷方式。而後將這些文件夾重命名一下:安全
先來配置Apache服務器吧,打開~/WAMP/Apache/conf/httpd.conf,找到路徑定義Define SRVROOT(大約在37行),修改成你解壓目錄的地址同時加入php模塊地址,注意Windows不區分大小寫,正斜槓也能夠在路徑中使用:服務器
1 Define SRVROOT "d:/wamp/apache" 2 PHPIniDir "d:/wamp/php" 3 LoadModule php7_module d:/wamp/php/php7apache2_4.dll 4 AddType application/x-httpd-php .html .php
而後取消掉ServerName(229行左右)前面的註釋符:
最後修改DirectoryIndex(288行左右),將index.php加入默認主頁:
接着,配置php環境,複製php文件夾下的php.ini-development改名爲php.ini,修改extension_dir爲ext文件夾解壓的目錄,我這裏是解壓在D盤:
而後啓用mbstring、mysqli、pdo_mysql擴展:
mbstring確保phpMyAdmin的部分高級功能能夠正常使用,mysqli和pdo_mysql都是數據庫擴展,我比較喜歡用pdo,例如編寫一個鏈接數據庫的函數connect.php:
1 <?php 2 //返回鏈接數據庫的對象 3 function connect() { 4 try { 5 $db = new PDO('mysql:host=localhost;dbname=upload', 'root', ''); 6 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 7 $db->exec('use upload'); 8 } catch (PDOException $e) { 9 echo "Couldn't connect database:" . $e->getMessage(); 10 } 11 return $db; 12 } 13 ?>
在其餘文件require 'connect.php'以後就能使用connect函數了,很方便吧~好了,進入正題,如今咱們的php環境其實已經配置好了,不過我仍是建議修改一下時區(也能夠在程序裏改):
如今來啓動Apache服務器吧,以管理員身份打開cmd進入到~/wamp/apache/bin目錄,在Windows下要進入其餘分區輸入盤符加冒號便可,例如「d:」,在該目錄下執行:
1 httpd -k install 2 httpd -k start
可能會有防火牆提示,容許便可。
打開瀏覽器,輸入localhost,看到以下畫面即安裝成功:
最後來配置一下MySQL數據庫和MySQL的PHP可視化工具phpMyAdmin。先在MySQL的解壓目錄下新建一個my.ini:
1 [mysqld] 2 port = 3306 3 4 ; 選擇5.x版本的加密插件 5 default_authentication_plugin = mysql_native_password 6 7 basedir = d:/wamp/mysql 8 datadir = d:/wamp/mysql/data
這裏要指出的是我去年安裝MySQL的時候是剛更新8.0,啓用了新的加密插件致使PHP連不上MySQL,因此選擇使用老版本的插件,最近一直學習前端開發也沒去關注PHP社區不知道能不能用8.0的加密插件了,反正老版本的確定兼容就好了~懶
以管理員身份打開控制檯進入到~/wamp/mysql/bin目錄輸入以下指令:
1 mysqld install 2 mysqld --initializa-insecure 3 net start mysql
使用不安全的初始化mysql用戶名爲root密碼爲空,之後再設置密碼便可。
鏈接數據庫:$ mysql -u root -p
能夠把該路徑加入到用戶環境變量裏,就能夠在任何路勁下使用mysql數據庫,不過初學者仍是喜歡使用圖形化界面,那麼咱們就來配置一下phpMyAdmin。
進入到phpMyAdmin的解壓路徑找到config.sample.inc.php,將它更名爲config.inc.php,同時修改$cfg['Servers'][$i]['AllowNoPassword']爲true,即容許空密碼登陸:
往上在大約17行的位置找到$cfg['blowfish_secret'],這裏須要設置一個長度爲32位的字符串用來加密cookie,雖然如今是建議使用HTML5的Web存儲。最後重啓一下服務器使phpMyAdmin的配置生效:$ httpd -k restart
打開瀏覽器輸入localhost/phpmyadmin打開並登陸phpMyAdmin:
到這裏,wamp的配置工做已經所有結束,不過,對於從事計算機開發的咱們來講,「懶惰」是一種美德。因而我編寫了一個批處理程序install.bat來自動搭建wamp環境:
1 @echo off 2 3 rem 配置apache服務器 4 echo Define SRVROOT "%cd%\apache" > .\apache\conf\httpd.conf 5 echo PHPIniDir "%cd%\php" >> .\apache\conf\httpd.conf 6 echo LoadModule php7_module %cd%\php\php7apache2_4.dll >> .\apache\conf\httpd.conf 7 type .\conf\httpd.conf >> .\apache\conf\httpd.conf 8 rem 創建www文件夾的桌面快捷方式 9 mklink /j %userprofile%\Desktop\www .\www 10 11 rem 配置php 12 echo [PHP] > .\php\php.ini 13 echo extension_dir = "%cd%\php\ext" >> .\php\php.ini 14 type .\conf\php.ini-development >> .\php\php.ini 15 rem 配置phpmyadmin 16 type .\conf\config.sample.inc.php > .\www\phpmyadmin\config.inc.php 17 18 rem 安裝並啓動apache 19 .\apache\bin\httpd -k install 20 .\apache\bin\httpd -k start 21 22 rem 配置mysql數據庫 23 type .\conf\my.ini > .\mysql\my.ini 24 echo basedir = %cd%\mysql >> .\mysql\my.ini 25 echo datadir = %cd%\mysql\data >> .\mysql\my.ini 26 rem 安裝並初始化mysql用戶名root密碼爲空 27 .\mysql\bin\mysqld install 28 if not exist .\mysql\data (.\mysql\bin\mysqld --initialize-insecure) 29 net start mysql 30 rem 將mysql添加到環境變量 31 setx path "%path%;%cd%\mysql\bin" 32 33 pause
我將部分修改的不涉及到路徑信息的配置文件放置在conf文件夾,而後將服務器的默認訪問目錄設置到新建的www文件夾。大體目錄以下,請將apache、mysql和php分別解壓到對應目錄:
演示效果以下: