一.下載apache
1.登錄官網:http://www.apache.org/,Downloads->mirrors
進入網址選擇httpd
進去之後可以直接下載,但是下載來的東西還不能用,因爲目錄結構不太一樣。
於是可以進入這個網頁查看細節
下載壓縮包,結果還是一樣,不能用
windows配置apache點擊這個進入網址(http://httpd.apache.org/docs/current/platform/windows.html#down)
進入如下界面後,選擇第一項ApacheHaus,這是個第三方下載平臺,在它的網站下載獨立的Apache會是一個壓縮包。另外四個中,第二個也是獨立的Apache下載地址,另外三個是集成開發環境。本人選的第一個。 PHP官網裏說明了,apache.org只提供舊的VC6版本,且不能使用 VC9+版本。apache.org已經不提供適合php的版本了。apache windows版本下載地址也給了下載建議:
本人下載的是
解壓到指定目錄
二.下載php
1.進入官網:https://www.php.net/downloads.php 下載安裝包
同樣的,下載的安裝包沒有經過編譯,不能用。
進入這個網站https://windows.php.net/download/#php-7.4-nts-vc15-x64 下載
解壓後是此目錄就是正確的
三.Apache服務器的配置
打開httpd.conf文件(在C:\web\Apache24\conf下,這是我的,放置的位置不同,則文件位置不同)
①修改目錄位置,如下圖所示:
設置服務器的端口號,web服務默認80端口,若你的80端口被佔用(可在cmd下用命令netstat -a查看),則將80端口改爲別的保存。
②配置安裝Apache的主服務,有了它,Apache纔可啓動。打開cmd窗口,進入bin目錄,輸入:httpd.exe -k install -n apache24。該命令的意思是,安裝apache服務,並將該服務名稱命名爲apache24(你也可以改成別的),回車。
原因是缺少vc++2015,去官網下載安裝
服務安裝完畢,完畢後,會自動測試,若有問題,窗口會提示錯誤,此時請根據錯誤自行排查。
正常安裝完畢如下圖所示:
其中,Errors reported here must be corrected before the service can be started.意思是,此處報告的錯誤必須在服務開始前進行糾正。若沒有,則成功。
原來是斜槓方向錯誤:
輸入本地迴環地址,若出現如下圖所示界面,則Apache服務器的基本配置完畢,此時apache服務器已經可以運行
四.Apache服務器的啓動
1.利用Windows啓動
2.利用命令行啓動
但是我的啓動不了,不知道怎麼回事
於是我把服務命名爲apache2.4,刪除原來的命名
3.利用Apache服務器自身的視窗打開
五.apache中加載php模塊
1.因爲php做爲apache的一個模塊而調用的,在apache httpd.conf文件最後添加php信息,php安裝目錄下要有php7apache2_4.dll,這是要求的apache版本。
LoadModule php7_module "C:/web/php-7.4.1-Win32-vc15-x64/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
PHPIniDir "C:/web/php-7.4.1-Win32-vc15-x64"
至此,httpd.conf 配置完成,保存httpd.conf
2.將php.ini-development 複製一份,原來的作爲php.ini配置文件,因爲這個在開發環境下的文件比較輕量,另一個比較耗機器的性能。
php打開mysql和mysqli擴展
如果需要用到php擴展,用記事本打開php.ini
將; extension_dir = "ext"修改爲 extension_dir = "ext" (去掉extension前面的分號)
將;extension=php_mbstring.dll 修改爲 extension=php_mbstring.dll(去掉extension前面的分號,這是php多字節字符串擴展)
將;extension=php_mysql.dll修改爲 extension=php_mysql.dll(去掉extension前面的分號)
將;extension=php_mysqli.dll 修改爲 extension=php_mysqli.dll(去掉extension前面的分號)
六.測試
1.重啓apache,發現啓動失敗
1.1 找到apache安裝目錄下的logs/error.log,查看錯誤來源
可以看到有三個錯誤
解決1
由於ssl導致的問題,需要禁用SSL 找到httpd.conf文件(/Applications/XAMPP/xamppfiles/etc) 搜索這句LoadModule ssl_module modules/mod_ssl.so 註釋掉這句,重啓服務,問題解決
解決2
可是上面我已經安裝了vc++15(x64)運行庫,這個實在是不知道該怎麼辦?
解決3
注掉php.ini中的所有的擴展動態庫(extension modules)
於是我換了一種思路,直接換掉php的版本,原來是php-7.4.1,換成7.2.26
重啓apache成功。
2.在apache安裝目錄下htdocs文件夾下新建一個php文件
瀏覽器輸入127.0.0.1/index.php
七.模擬服務器
虛擬機ip爲192.168.1.10
真實機ip192.168.1.3
處於同一局域網中,可以在真實機裏訪問服務器(虛擬機配置的web環境)
1.簡單操作,關掉防火牆,當然這並不可取