在ubuntu上搭建php网站环境的核心是配置web服务器(apache或nginx)解析php脚本并可选连接mysql/mariadb;推荐新手使用lamp组合:先安装并启动apache,再安装php及扩展(如php8.2-mysql、php8.2-gd等),重启apache后通过phpinfo()验证;接着安装mariadb并运行mysql_secure_installation加固,创建专用数据库与用户;最后部署代码至/var/www/html/或配置虚拟主机,启用rewrite模块并重载服务。

在 Ubuntu 上搭建 PHP 网站环境,核心是让 Web 服务器(如 Apache 或 Nginx)能正确解析和执行 PHP 脚本,并可选地连接数据库。不需要从零编译,Ubuntu 官方仓库和主流 PPA 提供了稳定、易管理的安装方式。下面以最常用、对新手最友好的 Apache + PHP + MySQL(LAMP)组合为主展开,同时简要说明更轻量或更隔离的替代方案。
安装 Apache 并确认 Web 服务运行
Apache 是成熟可靠的 Web 服务器,安装后默认监听 80 端口:
- 更新软件包列表:
sudo apt update - 安装 Apache:
sudo apt install apache2 - 启用并启动服务:
sudo systemctl enable apache2 && sudo systemctl start apache2 - 浏览器访问
http://localhost,看到 “It works!” 页面即表示成功
安装 PHP 及关键扩展
Ubuntu 默认源通常提供多个 PHP 版本(如 8.1、8.2、8.3)。建议选择 LTS 版本或项目要求的版本。以 PHP 8.2 为例:
- 安装 PHP 核心与 Apache 模块:
sudo apt install php8.2 libapache2-mod-php8.2 - 安装常用扩展(数据库、图像、编码、网络等):
sudo apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip - 重启 Apache 加载 PHP 模块:
sudo systemctl restart apache2 - 在
/var/www/html/下创建info.php,内容为<?php phpinfo(); ?>,然后访问http://localhost/info.php查看配置页,确认 PHP 已生效且扩展已加载
安装 MySQL(或 MariaDB)并初始化数据库
多数 PHP 网站需要持久化存储,MySQL 或其兼容分支 MariaDB 是常见选择:
- 安装 MariaDB(Ubuntu 22.04+ 默认):
sudo apt install mariadb-server - 运行安全脚本设置 root 密码、移除匿名用户等:
sudo mysql_secure_installation - 登录验证:
sudo mysql -u root -p,输入密码后进入交互界面 - 创建网站专用数据库和用户(非 root):
CREATE DATABASE mysite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'mysite_user'@'localhost' IDENTIFIED BY 'strong_password';GRANT ALL PRIVILEGES ON mysite.* TO 'mysite_user'@'localhost';FLUSH PRIVILEGES;
部署你的 PHP 网站文件
把网站代码放到 Web 根目录或配置虚拟主机指向自定义路径:
- 默认根目录是
/var/www/html/,可直接复制项目文件进去 - 若需修改根目录(例如放在
/home/yourname/www/mysite),需编辑 Apache 虚拟主机配置:sudo nano /etc/apache2/sites-available/000-default.conf,修改DocumentRoot和对应<directory></directory>块 - 调整文件权限(避免 500 错误):
sudo chown -R $USER:$USER /home/yourname/www/mysite,并确保 Apache 有读取权:sudo chmod -R 755 /home/yourname/www/mysite - 启用重写模块(支持 WordPress 等伪静态):
sudo a2enmod rewrite,并在站点配置中允许覆盖:AllowOverride All - 最后重载配置:
sudo systemctl reload apache2
如果追求更轻量,可用 Nginx + PHP-FPM;如果想多版本共存或避免污染系统,推荐用 Docker(如官方 php:apache 或 nginx:alpine 镜像);临时调试甚至只需 php -S localhost:8000 启动内置服务器。选哪种取决于你的项目规模、协作需求和运维习惯。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











