全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何用vagrant安装php环境_vagrant搭建php虚拟机教程【虚拟化】

Vagrant 搭建 PHP 开发环境的核心是通过 Vagrantfile 定义可复现的 Linux 虚拟机(如 ubuntu/jammy64),再用 Shell 或 Ansible 自动安装 PHP、Nginx/Apache 和 MySQL/SQLite,而非直接安装 PHP 环境。

用 Vagrant 搭建 PHP 开发环境,核心是通过配置文件定义一个可复现的 Linux 虚拟机(如 Ubuntu),再在其中安装 PHP、Web 服务器(Nginx/Apache)和数据库(MySQL/SQLite)。它不直接“安装 PHP 环境”,而是自动化部署整套环境。关键在于写对 Vagrantfile,并合理选择或定制 Box。

选对 Box 并初始化项目

Box 是 Vagrant 的基础镜像,推荐使用官方或社区维护的轻量、更新及时的镜像:

  • ubuntu/jammy64(Ubuntu 22.04 LTS):PHP 8.1 默认已预装,适合新项目
  • hashicorp/bionic64(Ubuntu 18.04):PHP 7.2/7.4 兼容性好,适合老项目
  • 避免使用年久失修或无人维护的第三方 Box,容易出现依赖冲突或安全问题

执行以下命令初始化:

vagrant init ubuntu/jammy64
vagrant up

用 Shell 或 Ansible 自动装 PHP 和扩展

Vagrant 支持 provisioner(供应器)自动执行安装任务。最简单的是内置的 Shell provisioner:

config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y php8.1-cli php8.1-mysql php8.1-curl php8.1-xml php8.1-mbstring
php -v
SHELL

如果需要更稳定、可复用的配置,建议用 Ansible(需本地安装 Ansible):

  • 新建 playbook.yml,用 community.general.php_packages 模块统一管理 PHP 版本与扩展
  • Vagrantfile 中启用:config.vm.provision "ansible", playbook: "playbook.yml"

挂载代码目录并配置 Web 服务

开发时代码通常放在宿主机,需同步到虚拟机:

config.vm.synced_folder "./www", "/var/www/html", owner: "www-data", group: "www-data"

然后安装 Nginx 并启用 PHP-FPM:

  • apt-get install -y nginx php8.1-fpm
  • 修改 /etc/nginx/sites-available/default,确保 location ~ \.php$ 指向 unix:/run/php/php8.1-fpm.sock
  • 重启服务:systemctl restart nginx php8.1-fpm

完成后访问 http://192.168.33.10(Vagrant 默认私有网络 IP),即可看到 PHP 页面。

常用调试与维护技巧

日常开发中几个实用操作:

  • 进入虚拟机:vagrant ssh;退出后用 exit
  • 重跑 provisioner(重新装环境):vagrant provision
  • 暂停/恢复虚拟机:vagrant suspend / vagrant resume
  • 彻底重装(清空状态):vagrant destroy && vagrant up
  • 查看 PHP 配置:vagrant ssh -c "php --ini"

不复杂但容易忽略:每次改完 Vagrantfile 或 provision 脚本,记得运行 vagrant reload --provision 才会生效。


# mysql  # php  # linux  # apache  # nginx  # 虚拟机  # ubuntu  # 配置文件  # 虚拟化  # 开发环境  # default  # location  # sqlite  # 数据库  # http  # ssh  # vagrant  # 自动化  # ansible  # unix  # 镜像  # 的是  # 几个  # 放在  # 年久失修  # 才会  # 推荐使用  # 再用  # 而非  # 第三方 


相关文章: 山东网站制作公司有哪些,山东大源集团官网?  linux top下的 minerd 木马清除方法  如何用PHP工具快速搭建高效网站?  装修招标网站设计制作流程,装修招标流程?  韩国服务器如何优化跨境访问实现高效连接?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Android自定义listview布局实现上拉加载下拉刷新功能  如何在Golang中指定模块版本_使用go.mod控制版本号  香港服务器如何优化才能显著提升网站加载速度?  内网网站制作软件,内网的网站如何发布到外网?  建站上市公司网站建设方案与SEO优化服务定制指南  建站主机选购指南:核心配置优化与品牌推荐方案  香港服务器部署网站为何提示未备案?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何选择可靠的免备案建站服务器?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  制作营销网站公司,淘特是干什么用的?  网站制作软件有哪些,制图软件有哪些?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  制作国外网站的软件,国外有哪些比较优质的网站推荐?  魔方云NAT建站如何实现端口转发?  音乐网站服务器如何优化API响应速度?  如何通过.red域名打造高辨识度品牌网站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  建站主机选购指南与交易推荐:核心配置解析  如何选择香港主机高效搭建外贸独立站?  建站主机与服务器功能差异如何区分?  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何通过商城自助建站源码实现零基础高效建站?  太原网站制作公司有哪些,网约车营运证查询官网?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何选择服务器才能高效搭建专属网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  建站之星安装模板失败:服务器环境不兼容?  制作旅游网站html,怎样注册旅游网站?  如何在服务器上配置二级域名建站?  网站微信制作软件,如何制作微信链接?  ,怎么用自己头像做动态表情包?  建站主机是否属于云主机类型?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  css网站制作参考文献有哪些,易聊怎么注册?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何使用Golang table-driven基准测试_多组数据测量函数效率  建站之星ASP如何实现CMS高效搭建与安全管理?    黑客入侵网站服务器的常见手法有哪些?  网页设计网站制作软件,microsoft office哪个可以创建网页? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。