商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > PHP框架在Ubuntu如何搭建

PHP框架在Ubuntu如何搭建

  发布于2026-07-03 阅读(0)

扫一扫,手机访问

在 Ubuntu 上搭建 PHP 框架的标准流程

PHP框架在Ubuntu如何搭建

先说核心判断:在Ubuntu上部署PHP框架,流程虽然看着步骤多,但只要环境准备扎实,后面基本就是流水线作业。这里把标准流程拆解开,从零开始,一步步走一遍。

环境准备与基础组件安装

先做系统更新总没错:

sudo apt update && sudo apt upgrade -y

接下来面临第一个选择:Web服务器用Apache还是Nginx?这直接决定了后续的组件搭配。

方案一:LAMP(Apache)

sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml -y
sudo systemctl enable --now apache2

方案二:LNMP(Nginx + PHP-FPM)

sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y
sudo systemctl enable --now nginx

两个方案都是成熟的生产环境标配,二选一就好。这有点像做家具,选什么工具全看个人偏好,关键是把活儿干好。

如果对PHP版本有更高要求——比如想用最新的PHP 8.3——可以通过Ondřej Surý的PPA获取:

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip -y
sudo systemctl enable --now php8.3-fpm

最后别忘了防火墙放行:

sudo ufw allow 'Nginx Full'  # 或 sudo ufw allow 'Apache Full'

数据库配置

环境搭好之后,下一步就是给项目建个数据库。登录MySQL:

sudo mysql -u root -p

然后创建项目库和专用用户——规范做法是给每个项目分配独立账户:

CREATE DATABASE your_project_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_project_db.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

数据库建好之后,在框架的配置文件(比如.env或config目录下)填上对应的数据库名、用户名、密码、主机地址(通常是127.0.0.1)和端口(默认3306)。

以Lara vel为例:创建与部署

以Lara vel走一遍完整流程。先装Composer——PHP生态里绕不过去的依赖管理工具:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

然后创建项目:

composer create-project --prefer-dist lara vel/lara vel your-project-name
cd your-project-name

接下来是配置环节:

cp .env.example .env

编辑.env文件,把前面建好的数据库连接信息填进去:DB_CONNECTION、DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD。然后生成应用密钥:

php artisan key:generate

如果需要建表,执行迁移:

php artisan migrate

开发阶段可以用内置服务器快速启动:

php artisan serve

默认地址是http://127.0.0.1:8000,方便调试。

Web服务器配置要点

本地开发没问题之后,就要把项目部署到生产环境的Web服务器上了。

Nginx配置示例

关键思路:把入口指向框架的public目录,并启用URL重写。

建议站点根目录设为:/var/www/your-project-name/public

核心配置片段如下:

root /var/www/your-project-name/public;
index index.php;

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;  # 注意版本与已安装的PHP-FPM一致
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

配置好了启用站点并重载:

sudo ln -s /etc/nginx/sites-a vailable/yourdomain /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl reload nginx

Apache要点

如果走Apache路线,需要先启用几个模块:

sudo a2enmod rewrite proxy proxy_fcgi

虚拟主机中设置DocumentRoot指向框架的public目录,Directory允许.htaccess覆盖(AllowOverride All),然后通过FilesMatch将PHP请求交给PHP-FPM处理——或者直接用libapache2-mod-php模块也行。

文件权限

最后但容易被忽略的一步:设置正确的目录权限。标准做法是把项目目录归属给www-data用户:

sudo chown -R www-data:www-data /var/www/your-project-name
sudo chmod -R 755 /var/www/your-project-name

上线与安全加固清单

部署不是终点,上线前后的安全措施同样重要。

访问验证与日志排查

访问服务器IP或域名验证是否能正常打开。如果遇到白屏或500错误,先看日志:

  • Nginx:/var/log/nginx/error.log
  • Apache:/var/log/apache2/error.log

安全与性能

  • 开启HTTPS:Let's Encrypt配合certbot是最省心的方案,免费且自动续期
  • 关闭调试模式:在php.ini中设置display_errors = Off,同时保持log_errors = On——错误要记,但要记在日志里,而不是暴露给用户
  • 防火墙仅开放80/443端口,其他端口如非必要一律关闭
  • 定期备份代码与数据库;文件权限避免使用777,坚持最小化原则

其他常见框架

如果是Symfony,流程大同小异:用官方安装器或Composer创建项目(symfony newcomposer create-project symfony/framework-standard-edition),开发时php bin/console server:run,生产环境用Nginx/Apache指向public/index.php入口即可。

绝大多数PHP框架其实遵循同一套模式:Composer装依赖→配置.env→生成密钥→数据库迁移→设置Web服务器入口与重写规则→调整权限→上线。流程固定,变的是框架本身的写法习惯。掌握了一套,其他的只是花点时间熟悉配置文件的写法差异而已。

本文转载于:https://www.yisu.com/ask/51870808.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注