无Root权限服务器部署Laravel项目是否可行?
可以部署,以下是具体实现方案
本地预编译生产依赖后上传
在本地开发环境执行composer install --no-dev --optimize-autoloader,该命令会安装生产环境必需的所有依赖包,排除开发工具类依赖,同时优化PHP自动加载机制。完成后将整个项目目录(包含vendor文件夹)通过SCP、FTP等工具上传至生产服务器的目标部署目录。配置生产环境变量
上传完成后,在服务器项目目录下创建.env文件,复制本地.env.example的内容,修改为生产环境配置:将APP_ENV设为production、APP_DEBUG设为false,配置正确的数据库连接信息,APP_KEY可直接复用本地生成的(注意保密),也可在服务器执行php artisan key:generate生成(仅需服务器具备PHP环境,无需Composer)。调整目录权限
确保storage和bootstrap/cache目录具备可写权限,可执行命令chmod -R 755 storage bootstrap/cache(若权限不足可联系服务器运维协助调整)。执行生产环境优化命令
进入服务器项目目录,运行以下命令提升性能:php artisan config:cachephp artisan route:cachephp artisan view:cache
这些操作仅依赖服务器的PHP环境,无需Composer支持。
后续依赖更新方案
若后续需要更新依赖,只需在本地执行composer update --no-dev后,重新上传更新后的vendor文件夹即可,无需在服务器操作Composer。
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

