PHP Linux環境搭建指南(以LAMP/LEMP為例)
在Linux系統上搭建PHP環境,通常選擇**LAMP(Linux+Apache+MySQL+PHP)或LEMP(Linux+Nginx+MySQL+PHP)**組合,以下是詳細步驟:
sudo apt update && sudo apt upgrade -y
sudo yum update -y
sudo apt install build-essential libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libmcrypt-dev libreadline-dev
sudo yum groupinstall "Development Tools" -y
根據發行版選擇對應命令,建議安裝常用擴展(如MySQL、GD、MBString等)以滿足Web開發需求:
sudo apt install php php-cli php-fpm php-mysql php-gd php-mbstring php-curl php-xml php-zip
sudo yum install epel-release -y
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # CentOS 7
sudo yum-config-manager --enable remi-php82 # 啟用PHP 8.2倉庫(根據需求調整版本)
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml php-zip -y
安裝完成后,通過php -v
驗證安裝(應顯示PHP版本及編譯信息)。
sudo apt install apache2 -y
sudo yum install httpd -y
sudo a2enmod php8.2
(替換為實際PHP版本)/etc/apache2/sites-available/000-default.conf
或/etc/httpd/conf/httpd.conf
),確保包含以下內容:<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
sudo systemctl restart apache2
sudo systemctl restart httpd
。sudo apt install nginx -y
sudo yum install nginx -y
/etc/nginx/sites-available/default
或/etc/nginx/conf.d/default.conf
),在server
塊中添加以下內容:location ~ \.php$ {
include snippets/fastcgi-php.conf; # Ubuntu/Debian
# include fastcgi_params; # CentOS/RHEL(需手動指定路徑)
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 替換為實際PHP-FPM socket路徑
}
sudo systemctl restart nginx php8.2-fpm
sudo systemctl restart nginx php-fpm
。sudo apt install mysql-server -y
sudo yum install mariadb-server -y
(MariaDB為MySQL分支,兼容性高)sudo mysql_secure_installation
,按提示設置root密碼、移除匿名用戶、禁止遠程root登錄等。sudo mysql -u root -p
),執行以下SQL:CREATE DATABASE your_database_name;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
EXIT;
/var/www/html/test_db.php
,內容如下:<?php
$conn = new mysqli('localhost', 'your_username', 'your_password', 'your_database_name');
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "MySQL連接成功";
?>
訪問http://your_server_ip/test_db.php
,顯示“MySQL連接成功”則配置正確。php.ini
(路徑:/etc/php/8.2/apache2/php.ini
或/etc/php/8.2/fpm/php.ini
),修改以下關鍵參數:memory_limit = 256M # 腳本最大內存
upload_max_filesize = 64M # 上傳文件大小限制
post_max_size = 64M # POST數據大小限制
date.timezone = Asia/Shanghai # 時區設置
display_errors = Off # 生產環境關閉錯誤顯示(避免泄露敏感信息)
修改后重啟Web服務器使配置生效。php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
sudo ufw allow 80/tcp
(允許HTTP流量)sudo firewall-cmd --add-port=80/tcp --permanent && sudo firewall-cmd --reload
。libapache2-mod-php
),確認配置文件中SetHandler
指令正確。sudo systemctl status php-fpm
),確認fastcgi_pass
路徑與PHP-FPM的socket路徑一致。php -m
查看已加載模塊,未加載的擴展可通過sudo phpenmod 擴展名
(Ubuntu)或sudo yum reinstall php-擴展名
(CentOS)安裝。通過以上步驟,可在Linux系統上搭建穩定的PHP環境,支持Web應用開發。根據實際需求,可進一步安裝Redis、Memcached等擴展優化性能。