做爲一名Java開發者,我平時也喜歡學習除Java之外的其餘技術,例如PHP(有人說PHP是最好的編程語言,我無意考究)。對於任何一個開發者,在學習一門新的編程語言過程當中,首先都會面對配置開發環境這樣一個環節。若是你是一名編程新手,在面對各類讓人眼花繚亂的配置項時,可能會犯怵,不知道從何處開始下手。通過一通搜索後你會發現,原來還有集成環境這樣爽的東西存在,大呼過癮。php
集成環境確實是個好東西,免去了繁瑣的配置過程,還有可視化的操做界面,省時省力,點擊幾下按鈕,一個完整的開發環境就配置好了。不少的集成環境都會告訴你一句話:"你專一於編程這件事,剩下的其餘事情就交給我了",集成環境就像一種治療編程入門的特效藥,並且立竿見影,但也不是沒有反作用的。它們在爲你省時省力的同時,也省去了其中的技術細節,你只知道點幾下按鈕,殊不知道爲什麼要這樣作,點完按鈕後,系統幹了什麼事情你也不得而知;從另一個角度上看,你本來只是想學習一門編程語言,如今卻得先學會使用另一種軟件,同時還得爲此軟件花費必定得硬件開銷(雖然如今的硬件成本不高)。html
從我我的的體驗或者說從一名開發者的角度來看,我是不怎麼推薦使用集成環境的,至少在學習階段不推薦使用集成環境。下面是我從業過程當中經理的一些小故事:mysql
故事一:同事老A學習PHP開發3個年頭,期間作過不少PHP項目,由於平時使用Windows系統,因此從一開始就使用WAMP集成環境開發軟件,項目上線時,甲方告知老A服務器是Linux環境,且已有MySQL數據庫,並且存放了其餘系統的數據,甲方要求使用已有的MySQL數據庫存放新系統的數據,這時老A犯難了,平時都只關注如何幹好編碼的事情,沒怎麼碰過Linux下手動配置運行環境的事情(小公司沒有專門的運維!),只得加班搗鼓了兩三天,在服務器裝上了LAMP環境,但數據庫連接有問題,SSL沒有配置,域名夾帶着端口在狂奔...故事二:給甲方開發了一套軟件,後期上線甲方要求由本身公司的技術員工實時,一週過去了,收到甲方反饋,軟件有問題(沒法啓動),甲方派了一個技術人員到公司進行溝通,要求現場進行本地調試演示。當我看到甲方人員電腦界面時,我心裏是拒絕的,基本環境沒有配置徹底,使用了第三方的集成環境(某夕夕寶塔,我並不是詆譭某個軟件),凌亂的軟件包和毫無章法的配置(不知道是不會配置仍是在網上拷貝的代碼)把我本身都搞凌亂了。甲方人員抱怨道:"我使用這個軟件都好幾年了,一直都好好的,是大家的軟件有問題..."sql
我不是一個說教者,列舉這兩個小案例的目的也不是排斥集成環境。集成環境自有它的好處和優勢,但咱們在學習的過程當中,還要本身花時間去彌補集成環境的短板。在學習的一開始,就應該學會如何手動去配置相關的環境,者不只可以讓你對所學的編程語言有一個宏觀的瞭解,還能爲以後的工做開啓一個"隱藏技能"。集成環境玩得溜,只能說明這款軟件很強大,讓你願意花時間去研究,但不表明其涉及到得技術你玩得很溜。數據庫
其實,有時候手動配置運行環境並不比使用集成軟件耗時間,甚至用時更短。手動配置在必定程度上更存粹,集成軟件在得到環境上比手動配置有時間和操做上的優點,但有額外的硬件性能開銷、學習成本、兼容性、以及集成軟件自生帶來的升級和安全等問題。apache
相比之下,手動配置的適應性更強,可控性更高,綜合成本更低,惟一不足是使用的複雜度比集成軟件高,但從學習和積累經驗的角度看,複雜度高並非一件壞事,反而是一件值得去嘗試的事情。接下來,我將花幾分鐘的時間,分享一下如何在Windows下手動搭建Wordpress運行環境(Apache Server + PHP 7 + MySQL + Wordpress)。編程
要運行Wordpress,一個Http Server是必不可少的組件,本文以Apache Http Server爲例進行講解(你還能夠選擇Nginx做爲Http Server)。瀏覽器
首先,訪問Apache Http Server官網:http://httpd.apache.org/ ,進入頁面後點擊左側的"Download!"連接,在新頁面中找到"Files for Mincrosoft Windows"連接並點擊進入,以下圖:安全
進入下載頁面後,選擇"Apache Lounge"項進行下載,以下圖:服務器
而後,將下載到本地的壓縮包解壓到合適的目錄中,例如:"E:/Apache/"目錄中。解壓完成後,進入"E:/Apache/http-2.4.43-win64-VS16/Apache24/conf"目錄(具體路徑根據你解壓的目錄爲準),找到httpd.conf文件並打開,改文件是Apache Http Server的配置文件。打開文件後,找到Define SRVROOT配置項,配置Server的根目錄以下:
Define SRVROOT "E:/Apache/http-2.4.43-win64-VS16/Apache24"
修改完成後,保存文件並退出,使用命令行工具進入"E:/Apache/http-2.4.43-win64-VS16/Apache24/bin"目錄,執行如下命令啓動Apache Http Server:
E:/Apache/http-2.4.43-win64-VS16/Apache24> httpd.exe -k start
提示:啓動成功後,控制檯不會有任何信息輸出。
你可使用 httpd.exe -k stop 命令終止Apache Http Server運行,還可使用httpd.exe -k restart命令重啓Apache Http Server。
最後,打開瀏覽器並並訪問http://localhost,如頁面出現以下下圖所示信息,則代表Apache Http Server已安裝成功。
提示:Apache Http Server默認監聽的端口好爲80端口
Wordpress是使用PHP語言編寫的內容管理系統(Content Management System,簡稱CMS)。所以,想要運行Wordpress,還需接着配置PHP環境。
首先,訪問PHP官網:https://www.php.net/,點擊頂部"Donload"導航連接,進入下載頁面。選擇"Thread Safe"版本並下載,以下圖:
將下載到本地的文件解壓縮到合適的目錄,例如:"E:/PHP7/"。解壓完成後,進入PHP解壓目錄,找到php.ini-production修改成php.ini文件並打開,而後配置PHP的擴展目錄:
extension_dir = "E:\PHP7\php-7.4.6-win32-vc15-x64\ext"
同時,將如下幾項配置前的"#"註釋取消:
extension = php_mysql.dll extension = php_mysqli.dll
至此,PHP安裝配置完成。
PHP安裝配置完成後,咱們須要再次打開Apache Http Server配置文件(httpd.conf),而後添加對PHP的支持,配置代碼以下:
LoadModel php7_module "E:/PHP7/php-7.4.6-win32-vc15-x64/php7apache2_4.dll" <FilesMatch \.php$> SetHandler application/x-httpd-php <FilesMatch> PHPIniDir "E:/PHP7/php-7.4.6-win32-vc15-x64/php.ini" #設置PHP配置文件路徑
接下來,爲驗證Apache Http Server和PHP是否成功整合,在Apache Http Server安裝目錄中找到htdocs目錄,在其下新建一個名爲hello.php的文件,打開並編輯內容以下:
<?php phpinfo(); ?>
最後,打開命令行工具,使用以下命令重啓Apache Http Server:
httpd.exe -k stop httpd.exe -k start
重啓服務後,打開瀏覽器並訪問:http://localhost/index.php,若是正常顯示PHP配置信息,則代表Apache Http Server與PHP整合成功,以下圖:
因爲MySQL數據庫的安裝配置比較簡單,在此再也不贅述。訪問Wordpress官網並下載最新版本的軟件包到本地:https://wordpress.org/download/。
接下來,將壓縮文件解壓到Apache Http Server的htdocs目錄下(注意去掉wordpress文件夾),以下圖:
解壓完成後,從新啓動Apache Http Server。接着打開瀏覽器並訪問:http://localhost/wp-admin/set...,進入Wordpress安裝頁面。
最後,根據我的喜愛和實際需求,填寫對應的數據,完成Wordpress的安裝。
若是在安裝Wordpress的過程當中,出現相似Index of /的文件列表頁面,以下圖:
請修改如下文件:
httpd.conf
將httpd.conf文件中<Directory "${SRVROOT}/htdocs">的 AllowOverride None配置改成AllowOverride All。以下圖:
.htaccess
在Apache Http Server的htdocs目錄中建立名爲.htaccess的文件,而後編輯內容以下:
DirectoryIndex index.php index.html # BEGIN WordPress # The directives (lines) between `BEGIN WordPress` and `END WordPress` are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
文件保存後,從新刷新Wordpress頁面,以前的Index of /問題將獲得解決。
本文介紹瞭如何在Windows操做系統下手動配置Apache Http Server 和PHP7,以及Apache Http Server和PHP的整合步驟,在此基礎上還介紹了WordPress的安裝以及注意事項。從整體上來看,手動配置PHP運行環境並不比集成軟件來得慢,所須要操做的地方也並非想象中的那麼多,那麼複雜,反而顯得得乾淨利落。
未經容許,請勿轉載