無痛安裝及初始配置 PHP 8.0.3 + Apache 2.4 + MySQL 8.0


@


前言

這篇博客里面所使用到的電腦配置如下

/*------------------------------------------------------
服務器型號:DELL R710
CPU:E5530 * 2
RAM:16GB DDR3 1333 Mhz ECC
硬盤:320GB SATA *4 (組RAID 10)
陣列卡:H700
SystemOS:Windows Server Datacenter 2019 with GUI
-------------------------------------------------------*/

通過本篇博客你可以完成 MySQL 8.0.23 、Apache 2.4以及PHP 8.0.3的安裝。

並能夠完成這些組件之間的基本配置,可以讓你的網站/服務完成數據庫的訪問,通過其他計算機訪問你的網站,可以解決跨域問題。


MySQL 8.0.23 安裝

下載

到官方網站下載:https://dev.mysql.com/downloads/mysql/

目前的最新版本是MySQL 8.0.23

在Windows上有兩種安裝方式,一個是zip壓縮文件解壓然后配置,另一個是圖像化界面安裝。

這里選擇第一種方法安裝:

在這里插入圖片描述
下載完成之后,通過FTP服務傳送到服務器上。

安裝

解壓到Program Files/MySQL里面
在這里插入圖片描述

添加一個叫做 mysql.ini的文件,並在該文件里添加如下內容

[mysql]
 
# 設置mysql客戶端默認字符集
default-character-set=utf8 
 
[mysqld]
 
#設置3306端口
port = 3306 
 
# 設置mysql的安裝目錄
basedir=path
 
# 設置mysql數據庫的數據的存放目錄
datadir=path\data
 
# 允許最大連接數
max_connections=200
 
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
 
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

其中的path要對應你的實際的安裝路徑

配置環境變量

在Windows Server DC版本里面(我估計Windows 10里面也是一樣的)

我的電腦 --》右鍵屬性 --》高級系統設置 --》環境變量

在系統環境變量里面添加一條新的記錄,內容如下(最后一條,一定是你的安裝路徑里面的 bin 目錄):
在這里插入圖片描述

初始化MySQL

之后,初始化MySQL

在安裝路徑用管理員身份打開 CMD

mysqld --initialize --console

注意,這里會生成一個臨時的密碼,拷貝出來

找一個參考圖(我這里沒有截屏)
在這里插入圖片描述
這個localhost 冒號后面的就是臨時密碼

緊接着,安裝MySQL

mysqld --install mysql

無報錯后啟動MySQL

net start mysql

這里第一安裝完成之后需要修改密碼

mysql -u root -p

這個時候用你的初始密碼登錄

用如下的指令修改密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '你要設置的新的密碼';
 
flush privileges;

退出,用新密碼登錄就OK了。

到此為止,MySQL就安裝完了


PHP8.0.3 安裝

下載

去官網下載 https://windows.php.net/download

切記要下載Thread Safe版本,不然后面不能夠連接Apache服務

下載完成后通過FTP服務上傳至服務器在這里插入圖片描述

這里我比較推薦直接將文件解壓到Program File里面(這里的文件夾名稱並不是這次解壓后的名字,因為原先安裝的是none Thread Safe版本,所以在我配置Apache服務器的時候發現缺少必要的組件,網上找了好久都沒有說是這個版本的問題,直到在Stack Overflow上看到了一篇帖子講的是如何配置PHP和Apache服務器,這才知道是版本的問題)

在這里插入圖片描述

安裝

php.ini.development文件的文件名改為php.ini(這里推薦先復制備份一下php.ini.development文件)在這里插入圖片描述
之后在解壓路徑里面打開CMD,並運行如下的命令

php.exe -v

這里會輸出版本號,標明可以運行
在這里插入圖片描述

配置環境變量

將解壓路徑添加到環境變量當中在這里插入圖片描述
重啟電腦,在隨機的一個路徑下啟動CMD窗口,運行如下命令

php -v

輸出版本號,到這標明了PHP已經正確安裝在這里插入圖片描述


Apache 2.4 安裝

下載

去官網下載:https://www.apachelounge.com/download/

這里選擇64位進行安裝(不會還真的有人的服務器運行着32位系統吧...)
在這里插入圖片描述

就是Apache 2.4.46 Win64這個選項

安裝

下載完成之后,解壓文件

注意啊,這里有兩種解壓方法,一個是隨意找一個地方解壓,另外一個是直接解壓到C盤的根目錄。

這里我推薦直接解壓到C盤的根目錄,最簡單,不需要修改配置文件就可以運行Apache服務器,非常適合新手來操作,至於占用C盤空間這個問題...我的服務器只有一個分區所以不用考慮這個問題。

解壓完成的目錄內容如下所示(對不起我忘記截圖了。。。)

/*-------------------------------
 * Apache24				文件夾
 * -- Win64 VS16 --		其他文件
 * ReadMe.txt			txt文件
-------------------------------*/

這里的ReadMe.txt里面有步驟來指引我們安裝、配置Apache服務器。

這里直接將Apache24這個文件夾復制到C盤的根目錄。

如果你不想將該文件夾復制到C盤根目錄,也沒有關系。

我們用文本編輯器打開 Apache24\conf\httpd.conf文件

搜索 Define SRVROOT ,然后把地址改為你的安裝目錄。這里需要注意一點!!!一定要把你的安裝路徑中的""換為"/",不然無效的!!!

啟動

進入你的安裝目錄,== 用管理員身份 ==啟動CMD,輸入如下命令

httpd.exe -k install

這里成功設置了開機自動運行

這個時候用快捷鍵 Win + R 輸入 service.msc 打開服務

若看到Apache2.4且啟動類型為自動,說明開機自動運行設置已經完成了。

我們可以在任務欄里面看到一個羽毛的圖標
在這里插入圖片描述
雙擊圖標,就可以打開Apache監視器,這里可以控制Apache服務器的開啟、停止和重啟。

界面如下圖所示:

在這里插入圖片描述

測試

在瀏覽器的地址輸入 localhost 並回車,即可顯示 It Works!,說明安裝成功!
在這里插入圖片描述

放入我們自己的網頁

我們可以將安裝目錄下的htdocs里面的index.html替換成為我們自己的網頁內容,即可利用瀏覽器訪問了。


配置Apache、PHP、MySQL

<OS 10013> 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試

我在安裝開機自啟動服務的時候出現了這個報錯,提示內容是

make_sock: could not bind to address 0.0.0.0:80

因為我服務器上安裝了IIS,80端口已經被占用掉了。

這里我們需要打開Apache的配置文件。

配置文件在安裝目錄下 conf/httpd.conf

打開之后找到 Listen 80,這里將80改為88或者是其他的未被占用的端口,我這里配置改為了88端口

保存,然后再安裝開機自動運行服務。

之后,在Apache監視器里面重啟Apache服務,在瀏覽器里面訪問 localhost:88 ,發現可以運行,問題解決!

Apache不能被除本機外的其他計算機訪問

這里得有兩步操作,第一個,打開Apache配置文件,找到如下內容:

<Directory>

Require local

</Directory>

將 Require local 改為Require all granted。
如果你的配置文件里面不是這個內容,而是deny什么什么的,就把那一行改為Require all granted。

第二步,防火牆設置

控制面板 --》Windows 防火牆 --》高級設置

點擊入站規則,然后新建規則
選擇 端口,下一步,選擇TCP,在特定本地端口后填寫你設置的Apache服務的端口(Apache配置文件的 Listen 處),然后下一步、完成就可以了。重啟電腦,問題解決。

讓 Apache 支持 PHP

第一步,修改 php.ini 文件
在這里插入圖片描述
extension_dir后面改為你的安裝路徑並加上"/ext"

還有,可以根據自己的需要來進行一些模塊的添加(這個是我的添加的模塊,就是前面去掉";"的那些)

extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd
extension=gettext
;extension=gmp
extension=intl
;extension=imap
;extension=ldap
extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop

這里需要注意!!!
如果你的網站涉及到了MySQL的操作又不想出現下面的畫面
在這里插入圖片描述
請一定要將extension=opensslextension=mysqli前面的分號去除掉!!!

第二步,修改Apache配置文件

<IfModule dir_module>
		DirectoryIndex index.html
</IfModule>

更改為

<IfModule dir_module>
		DirectoryIndex index.html index.php
</IfModule>

在你認為的合適的位置插入下面的這段內容(在所有的LoadModule的后面一行插入)

#php support
LoadModule php_module "PATH/php8apache2_4.dll"
<IfModule dir_module>
	PHPIniDir "PATH/"
	AddType application/x-httpd-php .php
	AddType application/x-httpd-source .phps
</IfModule>

注意,這里是空格后加上.php,PATH 是你的安裝路徑

還要解鎖幾個Module

在這里插入圖片描述
圖片來源:

https://blog.csdn.net/qq_41189458/article/details/113624155?utm_term=apache24配置php8&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-0-113624155&spm=3001.4430

添加跨域(不添加這個會影響訪問數據庫的)
在這里插入圖片描述

這些都配置完成之后,保存,重啟服務器。


總結

我這次安裝Apache服務器經歷了一整周,從Mac到Windows,踩了不少的坑,但也沒有踩完坑。當你按照步驟配置到了這一步,你就可以愉快的將你的網站掛到剛剛配置好的這台電腦里了。

技術是沒有盡頭的,願你在今后迎難而上,解決各種難題,這篇只是一個開頭,願你再接再厲。加油!!!技術人!!!

希望各路大神能在評論區指正!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM