在本地開發環境中,使用 PHP 部署多站點是一個常見的需求。以下是一個基本的步驟指南,幫助你在本地使用 PHP 配置多站點。
首先,你需要一個 Web 服務器來處理 HTTP 請求。常用的 Web 服務器包括 Apache 和 Nginx。
在 Ubuntu 上,你可以使用以下命令安裝 Apache:
sudo apt update
sudo apt install apache2
在 Windows 上,你可以從 Apache Haus 下載并安裝 Apache。
在 Ubuntu 上,你可以使用以下命令安裝 Nginx:
sudo apt update
sudo apt install nginx
在 Windows 上,你可以從 Nginx 下載并安裝 Nginx。
虛擬主機允許你在同一個 Web 服務器上運行多個網站。
編輯 Apache 的虛擬主機配置文件,通常位于 /etc/apache2/sites-available/
目錄下。
創建一個新的配置文件,例如 mywebsite1.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@mywebsite1.com
DocumentRoot /var/www/mywebsite1
ServerName mywebsite1.local
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
啟用該虛擬主機:
sudo a2ensite mywebsite1.conf
sudo systemctl reload apache2
編輯 Nginx 的虛擬主機配置文件,通常位于 /etc/nginx/sites-available/
目錄下。
創建一個新的配置文件,例如 mywebsite1
:
server {
listen 80;
server_name mywebsite1.local;
root /var/www/mywebsite1;
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; # 根據你的 PHP 版本調整
}
}
啟用該虛擬主機:
sudo ln -s /etc/nginx/sites-available/mywebsite1 /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
確保你的 Web 服務器能夠處理 PHP 文件。
確保 mod_php
模塊已啟用:
sudo a2enmod php7.4 # 根據你的 PHP 版本調整
在 Nginx 配置文件中,確保 fastcgi_pass
指向正確的 PHP-FPM 套接字或端口。
為每個站點創建一個目錄,并在其中放置你的 PHP 代碼。
例如,為 mywebsite1
創建目錄:
sudo mkdir /var/www/mywebsite1
為了能夠通過 mywebsite1.local
訪問你的站點,你需要配置本地 DNS。
編輯 /etc/hosts
文件(在 Windows 上是 C:\Windows\System32\drivers\etc\hosts
):
127.0.0.1 mywebsite1.local
打開瀏覽器,訪問 http://mywebsite1.local
,確保站點能夠正確顯示。
通過以上步驟,你應該能夠在本地使用 PHP 配置多站點。根據你的具體需求,你可能需要進一步調整配置。