Ubuntu搭建PHP开发环境完整步骤(以LAMP/LEMP为例)
在安装任何组件前,先更新系统包列表以确保获取最新版本:
sudo apt update && sudo apt upgrade -y
Apache是Ubuntu默认Web服务器,适合新手:
sudo apt install apache2 -y
sudo systemctl start apache2 && sudo systemctl enable apache2 # 启动并设置开机自启
验证Apache是否运行:浏览器访问http://localhost,应看到Apache默认欢迎页面。
Nginx性能更优,适合高并发场景:
sudo apt install nginx -y
sudo systemctl start nginx && sudo systemctl enable nginx # 启动并设置开机自启
验证Nginx是否运行:浏览器访问http://localhost,应看到Nginx默认欢迎页面。
PHP是开发环境核心,需安装核心包及常用扩展(如MySQL、GD、MBString等):
# LAMP环境(Apache集成PHP模块)
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
# LEMP环境(PHP-FPM,需单独安装)
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
注:libapache2-mod-php是Apache的PHP模块,php-fpm是Nginx的PHP FastCGI处理器。
Apache默认已支持PHP,但需确保模块启用:
sudo a2enmod php # 启用PHP模块(若未自动启用)
sudo systemctl restart apache2 # 重启Apache使配置生效
验证Apache能否解析PHP:在/var/www/html目录下创建info.php文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问http://localhost/info.php,若显示PHP信息页面,则配置成功。
Nginx需手动配置PHP-FPM处理.php文件:
编辑默认站点配置文件(/etc/nginx/sites-available/default),修改location ~ \.php$部分:
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 包含FastCGI配置
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # 根据PHP版本调整sock路径(如php8.1-fpm.sock)
}
测试Nginx配置语法:
sudo nginx -t
若无错误,重启Nginx:
sudo systemctl restart nginx
同样通过info.php验证PHP解析功能。
PHP应用通常需要数据库,推荐安装MySQL或MariaDB:
sudo apt install mysql-server -y
sudo systemctl start mysql && sudo systemctl enable mysql # 启动并设置开机自启
安全配置(可选但建议):
运行安全脚本设置root密码、移除匿名用户、禁止远程root登录:
sudo mysql_secure_installation
创建数据库和用户(示例):
sudo mysql -u root -p # 登录MySQL
CREATE DATABASE mydb; # 创建数据库
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; # 创建用户
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; # 授权
FLUSH PRIVILEGES; # 刷新权限
EXIT; # 退出
创建测试PHP文件(如/var/www/html/test.php):
<?php
$conn = new mysqli("localhost", "myuser", "mypassword", "mydb");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$conn->close();
?>
浏览器访问http://localhost/test.php,若显示“Connected successfully”,则说明PHP与数据库连接正常,开发环境搭建完成。
sudo apt install git composer -y
sudo ufw allow 'Apache Full' # LAMP
sudo ufw allow 'Nginx Full' # LEMP
sudo ufw enable # 启用防火墙
以上步骤覆盖了Ubuntu下PHP开发环境的基础搭建,可根据实际需求调整组件版本(如PHP 8.1/8.2)或扩展模块。