全面詳盡的PHP環(huán)境搭建教程(包括?Windows、Linux和macOS)
前言
PHP(Hypertext Preprocessor)是一種廣泛應(yīng)用的開源腳本語言,特別適用于 Web 開發(fā),并可嵌入 HTML 中。為了開始使用 PHP,首先需要在本地或服務(wù)器上搭建一個(gè) PHP 運(yùn)行環(huán)境。本教程將詳細(xì)介紹如何在不同操作系統(tǒng)下搭建 PHP 開發(fā)環(huán)境,包括 Windows、Linux 和 macOS。我們將涵蓋手動(dòng)搭建和使用集成環(huán)境兩種方式,并提供完整的配置步驟和注意事項(xiàng),幫助您順利完成環(huán)境搭建。
PHP 環(huán)境搭建概述
在開始編寫 PHP 程序之前,需要搭建一個(gè)能運(yùn)行 PHP 腳本的環(huán)境。通常,這個(gè)環(huán)境包括:
- Web 服務(wù)器:如 Apache、Nginx 等,用于處理 HTTP 請(qǐng)求。
- PHP 解析器:解釋和運(yùn)行 PHP 腳本。
- 數(shù)據(jù)庫服務(wù)器:如 MySQL、MariaDB,用于存儲(chǔ)和管理數(shù)據(jù)。
為了方便開發(fā)者,市面上有許多集成了以上組件的安裝包,如 XAMPP、WAMP、MAMP 等,它們可以一次性安裝所有必要的組件,節(jié)省配置時(shí)間。
在 Windows 上搭建 PHP 環(huán)境
使用集成環(huán)境 XAMPP
XAMPP 是一種易于安裝的 Apache 發(fā)行版,包含 MariaDB、PHP 和 Perl,適用于 Windows、Linux 和 macOS。對(duì)于初學(xué)者和需要快速搭建環(huán)境的開發(fā)者來說,XAMPP 是一個(gè)理想的選擇。
安裝步驟
下載 XAMPP
訪問 XAMPP 官方網(wǎng)站,下載適用于 Windows 的最新版本。
運(yùn)行安裝程序
雙擊下載的安裝程序(如
xampp-windows-x64-8.0.0-0-VC15-installer.exe),可能會(huì)出現(xiàn)用戶賬戶控制(UAC)提示,點(diǎn)擊“是”繼續(xù)。選擇組件
在組件選擇界面,可以選擇需要安裝的組件。默認(rèn)情況下,Apache、MySQL、PHP 都會(huì)被選中。根據(jù)需求,可以添加或取消其他組件。
組件 描述 Apache Web 服務(wù)器 MySQL 數(shù)據(jù)庫服務(wù)器 PHP PHP 解析器 phpMyAdmin MySQL 管理工具 FileZilla FTP FTP 服務(wù)器(可選) Tomcat Java 服務(wù)器(可選) 選擇安裝目錄
選擇安裝路徑,建議安裝在根目錄下(如
C:\xampp),避免權(quán)限問題。完成安裝
安裝完成后,勾選“啟動(dòng)控制面板”選項(xiàng),點(diǎn)擊“完成”。
配置和測試
啟動(dòng) Apache 和 MySQL
在 XAMPP 控制面板中,點(diǎn)擊“Start”按鈕啟動(dòng) Apache 和 MySQL 服務(wù)。
測試 Apache
在瀏覽器中輸入
http://localhost/,如果看到 XAMPP 歡迎頁面,說明 Apache 運(yùn)行正常。測試 PHP
創(chuàng)建一個(gè)測試文件:
在
C:\xampp\htdocs\目錄下,新建一個(gè)文件test.php。在文件中輸入以下內(nèi)容:
<?php phpinfo(); ?>
在瀏覽器中訪問
http://localhost/test.php,應(yīng)顯示 PHP 配置信息頁面。
常用配置
更改 Apache 端口
如果端口 80 被占用,可以修改 Apache 的監(jiān)聽端口。
- 打開
C:\xampp\apache\conf\httpd.conf。 - 將
Listen 80改為Listen 8080。 - 將
ServerName localhost:80改為ServerName localhost:8080。 - 重啟 Apache 服務(wù)。
- 打開
配置虛擬主機(jī)
在開發(fā)多個(gè)項(xiàng)目時(shí),可以配置虛擬主機(jī)方便管理。
編輯
C:\xampp\apache\conf\extra\httpd-vhosts.conf,添加:<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/project1" ServerName project1.local </VirtualHost>修改
C:\Windows\System32\drivers\etc\hosts,添加:127.0.0.1 project1.local
手動(dòng)安裝 Apache、PHP 和 MySQL
對(duì)于需要更高控制度的開發(fā)者,可以手動(dòng)安裝和配置各個(gè)組件。
安裝 Apache
下載 Apache
訪問 Apache Lounge,下載適用于 Windows 的二進(jìn)制版本。
解壓安裝
- 將下載的 ZIP 文件解壓到
C:\Apache24。
- 將下載的 ZIP 文件解壓到
配置環(huán)境變量
- 將
C:\Apache24\bin添加到系統(tǒng)環(huán)境變量PATH中。
- 將
測試安裝
- 打開命令提示符,輸入
httpd -v,應(yīng)顯示 Apache 版本信息。
- 打開命令提示符,輸入
啟動(dòng) Apache
以管理員身份運(yùn)行命令提示符,輸入:
httpd
安裝 PHP
下載 PHP
訪問 PHP 官方下載頁面,選擇適用于 Windows 的非線程安全(NTS)版本。
解壓安裝
- 將下載的 ZIP 文件解壓到
C:\PHP。
- 將下載的 ZIP 文件解壓到
配置 PHP
將
php.ini-development重命名為php.ini。編輯
php.ini,設(shè)置extension_dir:extension_dir = "C:\PHP\ext"
啟用必要的擴(kuò)展,如
mysqli、pdo_mysql等,去掉前面的分號(hào):extension=mysqli extension=pdo_mysql
配置 Apache 與 PHP 集成
編輯 Apache 的配置文件
C:\Apache24\conf\httpd.conf,添加以下內(nèi)容:LoadModule php_module "C:/PHP/php7apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/PHP"
確保
DocumentRoot指向您的項(xiàng)目目錄。
測試 PHP
在
DocumentRoot目錄下創(chuàng)建index.php,內(nèi)容為:<?php echo "Hello, PHP!"; ?>
重啟 Apache 服務(wù),訪問
http://localhost/,應(yīng)顯示 "Hello, PHP!"。
安裝 MySQL
下載 MySQL
訪問 MySQL 官方下載頁面,選擇適用于 Windows 的 MSI 安裝程序。
安裝 MySQL
- 運(yùn)行安裝程序,選擇“自定義”安裝,按照提示完成安裝。
- 配置 root 用戶密碼,記住該密碼用于后續(xù)連接。
測試連接
打開命令提示符,輸入:
mysql -u root -p
輸入密碼后,應(yīng)進(jìn)入 MySQL 命令行界面。
配置 PHP 連接 MySQL
在
php.ini中確保已啟用mysqli和pdo_mysql擴(kuò)展。重啟 Apache 服務(wù),測試 PHP 連接 MySQL:
<?php $conn = new mysqli("localhost", "root", "yourpassword"); if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } echo "連接成功"; ?>
在 Linux 上搭建 PHP 環(huán)境
Linux 是服務(wù)器最常用的操作系統(tǒng)之一,以下以 Ubuntu 為例介紹如何搭建 PHP 環(huán)境。
使用 LAMP 方案
LAMP 代表 Linux、Apache、MySQL/MariaDB、PHP 的組合,是經(jīng)典的 Web 開發(fā)環(huán)境。
安裝 Apache
sudo apt update sudo apt install apache2
安裝 MySQL 或 MariaDB
安裝 MySQL
sudo apt install mysql-server
安裝 MariaDB
sudo apt install mariadb-server
安裝 PHP
sudo apt install php libapache2-mod-php php-mysql
配置 Apache
設(shè)置 Apache 優(yōu)先解析 PHP 文件
編輯
/etc/apache2/mods-enabled/dir.conf,將index.php放在第一位:<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>啟用必要的模塊
sudo a2enmod php7.4 # 根據(jù)實(shí)際 PHP 版本
重啟 Apache
sudo systemctl restart apache2
測試 PHP
創(chuàng)建測試文件
/var/www/html/info.php,內(nèi)容為:<?php phpinfo(); ?>
在瀏覽器中訪問
http://your_server_ip/info.php,應(yīng)顯示 PHP 配置信息頁面。
安裝和配置 Nginx、PHP-FPM 和 MySQL
Nginx 是高性能的 Web 服務(wù)器,搭配 PHP-FPM 可以提高 PHP 應(yīng)用的性能。
安裝 Nginx
sudo apt update sudo apt install nginx
安裝 PHP-FPM
sudo apt install php-fpm php-mysql
配置 Nginx
編輯
/etc/nginx/sites-available/default,修改服務(wù)器塊:server { listen 80; server_name your_server_ip; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根據(jù)實(shí)際 PHP 版本 } location ~ /\.ht { deny all; } }測試 Nginx 配置:
sudo nginx -t
重啟 Nginx:
sudo systemctl restart nginx
測試 PHP
- 創(chuàng)建測試文件
/var/www/html/info.php,內(nèi)容同上。 - 訪問
http://your_server_ip/info.php,應(yīng)顯示 PHP 信息。
在 macOS 上搭建 PHP 環(huán)境
使用 MAMP 集成環(huán)境
MAMP(Macintosh, Apache, MySQL, PHP)是專為 macOS 設(shè)計(jì)的集成環(huán)境。
安裝 MAMP
下載 MAMP
訪問 MAMP 官方網(wǎng)站,下載最新版本的 MAMP。
安裝 MAMP
- 雙擊下載的 DMG 文件,按照提示拖動(dòng) MAMP 到“應(yīng)用程序”文件夾。
啟動(dòng) MAMP
- 進(jìn)入“應(yīng)用程序”文件夾,打開 MAMP。
- 點(diǎn)擊“Start Servers”啟動(dòng) Apache 和 MySQL。
配置和測試
測試 Apache 和 PHP
- 訪問
http://localhost:8888/,應(yīng)看到 MAMP 歡迎頁面。 - 默認(rèn)的 Web 根目錄是
/Applications/MAMP/htdocs。
- 訪問
測試 PHP
在
htdocs目錄下創(chuàng)建test.php,內(nèi)容為:<?php phpinfo(); ?>
訪問
http://localhost:8888/test.php,應(yīng)顯示 PHP 信息。
使用 Homebrew 手動(dòng)安裝
Homebrew 是 macOS 上的包管理器,可以方便地安裝 Apache、PHP 和 MySQL。
安裝 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安裝 Apache
brew install httpd
啟動(dòng) Apache:
sudo brew services start httpd
安裝 PHP
brew install php
啟動(dòng) PHP-FPM:
brew services start php
安裝 MySQL
brew install mysql
啟動(dòng) MySQL:
brew services start mysql
配置 Apache
編輯 /usr/local/etc/httpd/httpd.conf,添加或修改以下內(nèi)容:
加載 PHP 模塊:
LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so
設(shè)置 DirectoryIndex:
DirectoryIndex index.php index.html
配置 PHP 文件的處理:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>重啟 Apache:
sudo brew services restart httpd
測試 PHP
在
/usr/local/var/www目錄下創(chuàng)建index.php,內(nèi)容為:<?php echo "Hello, PHP on macOS!"; ?>
訪問
http://localhost:8080/,應(yīng)顯示 "Hello, PHP on macOS!"。
常見問題及解決方案
Apache 無法啟動(dòng)
端口被占用
檢查是否有其他服務(wù)占用了端口 80 或 8080。
sudo lsof -i :80
解決方案:更改 Apache 的監(jiān)聽端口,或停止占用端口的服務(wù)。
PHP 腳本不執(zhí)行,瀏覽器直接下載
未配置 PHP 處理
確認(rèn) Web 服務(wù)器已正確配置 PHP 模塊。
解決方案:按照上述步驟,確保 Apache 或 Nginx 已加載 PHP 模塊或已配置 PHP-FPM。
MySQL 無法連接
密碼錯(cuò)誤
檢查連接時(shí)使用的用戶名和密碼是否正確。
服務(wù)未啟動(dòng)
確認(rèn) MySQL 服務(wù)已啟動(dòng)。
sudo systemctl status mysql
權(quán)限問題
文件權(quán)限不足
確保 Web 根目錄和 PHP 文件具有正確的權(quán)限。
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
防火墻阻止訪問
檢查防火墻設(shè)置
確保服務(wù)器的防火墻允許 HTTP 和 HTTPS 流量。
sudo ufw allow 'Apache Full'
總結(jié)
搭建 PHP 開發(fā)環(huán)境是開始 PHP 編程的第一步。無論您使用的是 Windows、Linux 還是 macOS,本教程都提供了詳細(xì)的步驟和注意事項(xiàng),幫助您順利完成環(huán)境配置。
- Windows 用戶:可以選擇使用 XAMPP 這樣的集成環(huán)境,快速搭建開發(fā)環(huán)境;也可以手動(dòng)安裝 Apache、PHP 和 MySQL,獲得更高的靈活性。
- Linux 用戶:LAMP 方案是經(jīng)典的選擇,或者使用 Nginx 和 PHP-FPM 提升性能。
- macOS 用戶:MAMP 提供了方便的集成環(huán)境;通過 Homebrew 手動(dòng)安裝則能更好地掌控配置。
在實(shí)際開發(fā)中,可能會(huì)遇到各種問題,本教程也提供了一些常見問題的解決方案。希望本教程能幫助您順利搭建 PHP 開發(fā)環(huán)境,開啟您的 PHP 編程之旅。
參考資料
- PHP 官方文檔
- Apache 官方文檔
- MySQL 官方文檔
- XAMPP 官方網(wǎng)站
- MAMP 官方網(wǎng)站
- Homebrew 官方網(wǎng)站

到此這篇關(guān)于PHP環(huán)境搭建(包括 Windows、Linux和macOS)的文章就介紹到這了,更多相關(guān)PHP環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php通過curl方式實(shí)現(xiàn)發(fā)送接收xml數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了php如何通過curl方式實(shí)現(xiàn)發(fā)送接收xml數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
PHP動(dòng)態(tài)規(guī)劃解決0-1背包問題實(shí)例分析
這篇文章主要介紹了PHP動(dòng)態(tài)規(guī)劃解決0-1背包問題,實(shí)例分析了背包問題的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-03-03
php鏈?zhǔn)讲僮鱩ysql數(shù)據(jù)庫(封裝類帶使用示例)
本文代碼將一些簡單常用的SQL語句,拆分、封裝成鏈?zhǔn)胶瘮?shù)與終結(jié)函數(shù),鏈?zhǔn)讲僮鳑]有先后之分,實(shí)現(xiàn)傻瓜式mysql數(shù)據(jù)庫操作。?同時(shí)學(xué)習(xí)下靜態(tài)成員函數(shù),實(shí)現(xiàn)鏈?zhǔn)讲僮鞯木唧w語法。2023-02-02
淺析虛擬主機(jī)服務(wù)器php fsockopen函數(shù)被禁用的解決辦法
以下是對(duì)虛擬主機(jī)服務(wù)器php fsockopen函數(shù)被禁用的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08
php設(shè)計(jì)模式 Observer(觀察者模式)
定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,以便當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)刷新 能夠便利地創(chuàng)建查看目標(biāo)對(duì)象狀態(tài)的對(duì)象,并且提供與核心對(duì)象非耦合的指定功能2011-06-06
PHP學(xué)習(xí)筆記 IIS7下安裝配置php環(huán)境
PHP學(xué)習(xí)筆記 IIS7下安裝配置php環(huán)境,需要的朋友可以參考下2012-10-10

