XAMPP 安裝設定說明筆記(windows)

XAMPP 安裝設定說明筆記(windows)

XAMPP是完全免費且易於安裝的Apache發行版本,其中包含MySQL、PHP和Perl。XAMPP開放源碼套件的設置讓安裝和使用出奇容易。

XAMPP Apache + MySQL + PHP + Perl

下載安裝檔:https://www.apachefriends.org/zh_tw/download.html

Windows 2008, 2012, Vista, 7, 8 (Important: XP or 2003 not supported)

XAMPP 安裝設定說明筆記(windows)

XAMPP 安裝設定說明筆記(windows)

啟動 Apache及Mysql

如果在啟動Apache時遇到:
[Apache] Problem detected!
[Apache] Port 80 in use by "Unable to open process" with PID 4!
[Apache] Apache WILL NOT start without the configured ports free!
[Apache] You need to uninstall/disable/reconfigure the blocking application
[Apache] or reconfigure Apache and the Control Panel to listen on a different port

非常有可能是你的iis正在啟用中,請將它停用,就能正常啟動Apache了!

XAMPP更改MySQL密碼

使用xampp時,MySQL密碼預設是沒有密碼,很危險的!趕快來加上去

    1. 輸入http://localhost/phpmyadmin/
    2. 使用者帳號>編輯權限
    3. 更改密碼>輸入「密碼」及「確認密碼」,按「執行」
    4. 按瀏覽器的重新整理,會出現無法登入。(若能正常登入則跳過以下步驟)

XAMPP 安裝設定說明筆記(windows)

  1. 修改 xampp\phpMyAdmin\config.inc.php
    $cfg['Servers'][$i]['auth_type'] = 'config';改成$cfg['Servers'][$i]['auth_type'] = 'http';,存檔。
  2. 重啟XAMPP
  3. 按瀏覽器的重新整理,輸入帳號、密碼後按確定,就可以進入到MySQL了。

 

XAMPP首頁 http://127.0.0.1/xampp/index.php

設定127.0.0.1為XAMPP首頁

編輯 \xampp\apache\conf\httpd.conf

<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot "E:/xampp/htdocs/"
</VirtualHost>

之後才開始增加其他網站資料

修改Apache日誌輸出格式

修改Apache的默認日誌輸出方式,是為了避免access日誌文件過大,或者修改為Apache的輸出格式為我們想要的格式。

例如,我們只關注其中某項有用的信息,其他項分析上用不到,我們就可以把該項自定義時,直接去掉或者我們根本用不到日誌功能,可以直接將其關掉。

具體操作,可以通過打開httpd.conf文件,找到LogFormat項,就於自定義日誌的輸出內容格式;CustomLog用於修改日誌的輪詢格式。例如我們想access一旦達到100M就輪詢,可以如下做:

#CustomLog "logs/access.log" common //註釋掉默認的日誌記錄方式

CustomLog  "|e:/xampp/apache/bin/rotatelogs.exe e:/xampp/apache/logs/access.log-%m-%d 86400" common //定製的日誌記錄方式一天一份

另外 error.log 也可比照處理

多站點日誌輸出格式

我們可以設定每個網站可以有自己的access.log和error.log,記得先建立log要放的目錄。

<VirtualHost *:80>
ServerName www.yourname.com.tw
DocumentRoot "E:/xampp/htdocs/web/yourname"
CustomLog "|e:/xampp/apache/bin/rotatelogs.exe e:/xampp/apache/logs/yourname/access.log-%m-%d 86400" common
ErrorLog "|e:/xampp/apache/bin/rotatelogs.exe e:/xampp/apache/logs/yourname/error.log-%m-%d 86400"
</VirtualHost>

<VirtualHost *:80>
ServerName www.yourname2.com.tw
DocumentRoot "E:/xampp/htdocs/web/yourname2"
CustomLog "|e:/xampp/apache/bin/rotatelogs.exe e:/xampp/apache/logs/yourname2/access.log-%m-%d 86400" common
ErrorLog "|e:/xampp/apache/bin/rotatelogs.exe e:/xampp/apache/logs/yourname2/error.log-%m-%d 86400"
</VirtualHost>

安裝WP

1.將WP安裝檔案放在htdocs資料夾中的網站目錄(ex:E:\xampp\htdocs\web\xxx)內

2.利用phpmyadmin建立資料庫

3.設定windows防火牆,開放port 80

4.最後進入http://127.0.0.1/web/xxx,開始進行安裝

XAMPP 安裝設定說明筆記(windows)

到這邊為止,網站已經可以使用了,如果網站要對外記得再去設定DNS和更改網站網址

siteurl http://www.yourname.com
home http://www.yourname.com

下面介紹的是一些進階設定:

XAMPP 安裝設定說明筆記(windows)
XAMPP 安裝設定說明筆記(windows)

將Apache、Mysql 設為服務於開機時自動啟動

XAMPP 安裝設定說明筆記(windows)

xampp下設置不顯示php錯誤提示

在 xampp/php/php.ini 裡設置display_errors = Off

XAMPP修改Apache連線數

編輯 \xampp\apache\conf\httpd.conf

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf

編輯 \xampp\apache\conf\extra\httpd-mpm.conf

將 ThreadsPerChild 的數字改大一點,可增加可處理的連線數
MaxConnectionsPerChild 代表子進程的最大連接數,當達到設置值以後,Apache就會結束當前的子進程,釋放內存,再開啟新的子進程

<IfModule mpm_winnt_module>
ThreadsPerChild 500
MaxConnectionsPerChild 10000
</IfModule>

重新啟動apache服務即可生效

Maximum PHP Execution Time Exceeded

遇到以上的問題,解決方式

編輯php.ini,搜尋

1
max_execution_time

將數值改為120

限制檔案上傳大小

編輯php.ini,搜尋

1
post_max_size

1
upload_max_filesize

,調整數值。

關於CHMOD

1
因為環境是在Windows下,所以無法設定CHMOD<br />

可參考:https://www.devside.net/wamp-server/setting-file-permissions-with-chmod-on-windows-for-apache-and-php

一鍵重啟restart XAMPP

重啟XAMPP,必須透過控制面板按stop再按start

或許會覺得麻煩,我們可以製做一個bat批次檔

在\xampp 複製 apache_start.bat 並更名為 apache_restart.bat

找到 apache\bin\httpd.exe

變更為 apache\bin\httpd.exe -k restart

儲存,搞定!

 

設定瀏覽器快取 Leverage browser caching

編輯 httpd.conf

LoadModule expires_module modules/mod_expires.so

詳細操作請看這篇

sendmail寄信

設定\xampp\sendmail\sendmail.ini

詳細操作請看這篇

The Program Can’t Start Because Api-Ms-Win-Crt-Runtime-L1-1-0.Dll Is Missing

解決方式:請更新您的作業系統到最新版本。

Error: MySQL shutdown unexpectedly

編輯my.ini,檢查/xampp/路徑,更換為 E:/xampp/

PHP Fatal error: Out of memory

這個問題發生在server2012 php7.0,找了好久,增加記憶體、網站工作階段似乎都無效
後來更新網站所有佈景主題及外掛,發生的頻率有下降很多,偶爾還是會出現...

升級HTTP/2

HTTP/2讓用戶端能以較少的連接數從伺服器端取得資料,大幅增加網路傳輸速度。

網站必須先有SSL憑證

編輯httpd.conf
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so

編輯httpd-ssl.conf,在需要開啟http/2的站點加入Protocols h2 h2c http/1.1

<VirtualHost x.x.x.x:443 >

Protocols h2 h2c http/1.1
...
...

</VirtualHost>

 

其他相關設定:Xampp啟用PHP OpenSSL寄信服務

常見問題:https://www.apachefriends.org/faq_windows.html

關於作者 多力哥
XAMPP 安裝設定說明筆記(windows)
影像創作攝影師/網頁動畫設計師/系統網路工程師/水草研究生
景文科大畢業後,我成為一名網站動畫設計師,並副修MIS電腦資訊管理。2004年,我開始接觸單眼相機,並在2008年正式成為一名接案攝影師,目前使用Canon系統進行拍攝。2016年,我愛上了美麗的水草缸,這讓我的生活多了另一層次的放鬆。每天在電腦前修圖時,能欣賞紅吱吱、綠油油的水草,彷彿多了一份平靜與愉悅。攝影與水草讓我的生活充滿了藝術與自然的交融。
連絡信箱:hello@hahasmile.com (歡迎合作提案)
DORIGO IMAGE 攝影工作室:https://dorigo-image.com
如果你喜歡我的內容,可以用行動贊助我一杯咖啡☕,支持我持續創作,也讓這個網站可以繼續營運下去喔!

若您喜歡這篇文章,歡迎按讚分享喔!
0 回復

發表評論

想要留言嗎?
歡迎歡迎!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *