安装/使用 php
这里以安装 php8.2 为例。
- php8.2: 基础 PHP 包,PHP 核心运行环境
- php8.2-fpm: PHP-FPM(FastCGI Process Manager),用于 Nginx 或其他 Web 服务器
- php8.2-mysql: MySQL 数据库扩展
- php8.2-xml: XML 扩展
- php8.2-mbstring: 多字节字符串处理扩展
- php8.2-curl: cURL 扩展
- php8.2-zip: ZIP 压缩扩展
- php8.2-bcmath: 高精度数学计算扩展
- php8.2-cli: 命令行使用 PHP
安装
Ubuntu 24 默认源可能还没有 PHP 8.2 包。 我们可以通过 添加第三方源(PPA) 或使用 Ubuntu 官方源可用的 PHP 版本 来解决。
安装 software-properties-common
bash
sudo apt update
sudo apt install software-properties-common -y这个工具可以方便我们添加PPA
添加 PHP 官方 PPA
bash
sudo add-apt-repository ppa:ondrej/php
sudo apt updateondrej/php是 Ubuntu 社区最常用的PHP PPA,支持 PHP 7.4 ~ 8.3- 添加之后就可以安装 PHP8.2 了
安装 PHP 8.2 以及常用扩展
· 安装 PHP 8.2 以及常用扩展
bash
sudo apt install php8.2 php8.2-fpm php8.2-cli php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-bcmath -y检查安装
bash
php -v
php-fpm8.2 -v- 显示 PHP 版本信息,确认安装成功。
部署 Laravel
这是一个部署laravel的项目实例
部署
前提条件
- 已安装 Ubuntu 24.04
- 已安装 PHP 8.2
- 已安装 Nginx
Laravel 项目放入服务器
将 Laravel 项目 lp 放入 /var/www/laravel/lp 目录下。
配置 .env 站点
1.创建 .env 文件
进入 lp 目录,复制 查看是否有 .env 文件,如果没有,复制 .env.example 到 .env。
bash
cd /var/www/laravel/lp
cp .env.example .env2.生成 Laravel APP_KEY
bash
php artisan key:generate3.在配置文件中设置好数据库连接
ini
DB_HOST=xxx.xxx.xxx.xxx
DB_PORT=3306
DB_DATABASE=你的库名
DB_USERNAME=你的用户
DB_PASSWORD=你的密码主要目录设置权限
bash
sudo chown -R www-data:www-data /var/www/laravel/lp
sudo chmod -R 755 /var/www/laravel/lp/storage
sudo chmod -R 755 /var/www/laravel/lp/bootstrap/cache(www-data 是 Nginx/Apache 的默认用户)
测试运行
bash
php artisan serve --host=0.0.0.0 --port=8000配置生产环境配置文件
- 这里我们创建一个
lp文件作为配置文件
bash
sudo vim /etc/nginx/sites-available/lp为什么不用直接改 nginx.conf?
- 可维护性强:每个站点一个文件
- 方便开启/关闭站点:只需创建或删除软链接
- 多人运维更安全:不会修改全局文件
写入
nginx
server {
listen 80;
server_name _;
root /var/www/laravel/lp/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}- 这里要注意
80端口是默认端口,如果你有其他服务在监听80端口,需要先关闭或修改。 - root 后的路径要到
public
启用站点并重启Nginx
bash
# 创建软连接
sudo ln -s /etc/nginx/sites-available/lp /etc/nginx/sites-enabled/
# 检查配置是否正常
sudo nginx -t
# 重启 Nginx
sudo systemctl restart nginx访问
- 访问
http://你的服务器IP:端口,如果一切正常,你应该能看到 Laravel 的欢迎页面。
问题
1.No input file specified.
访问 http://你的服务器IP:端口,出现 No input file specified.
对应方法:
打开 /etc/nginx/sites-available/lp/public 查看是否有 .user.ini 文件。
如果设置了 open_basedir,可以先注释掉。
保存后访问 http://你的服务器IP:端口,如果一切正常,你应该能看到 Laravel 的欢迎页面。