PHP Linux环境搭建指南(以LAMP/LEMP为例)
在Linux系统上搭建PHP环境,通常选择**LAMP(Linux+Apache+MySQL+PHP)或LEMP(Linux+Nginx+MySQL+PHP)**组合,以下是详细步骤:
sudo apt update && sudo apt upgrade -ysudo yum update -ysudo apt install build-essential libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libmcrypt-dev libreadline-devsudo 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 -ysudo yum install httpd -ysudo 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 apache2sudo systemctl restart httpd。sudo apt install nginx -ysudo 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-fpmsudo systemctl restart nginx php-fpm。sudo apt install mysql-server -ysudo 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等扩展优化性能。