CodeArt-编码艺术

VirtualBox直接搭建laravel开发环境可能遇到的坑

字数统计: 502阅读时长: 2 min
2018/09/09 Share

另外一个产品使用的VirtualBox+Vagrant搭建的环境,未开启nfs的情况下,速度实在感人,遂此次环境未使用Vagrant,直接VirtualBox,谁知道坑爹的事情不断

VirtualBox直接搭建laravel开发环境可能遇到的坑:

一、共享目录的挂载与访问

VirtualBox开启目录共享需要安装增强插件,一般来说都会安装失败,参考:

https://stackoverflow.com/questions/28328775/virtualbox-mount-vboxsf-mounting-failed-with-the-error-no-such-device

整到安装上此增强插件后,就可以通过mount来管理挂载了,假设开启了VirtualBox的自动挂载,其会将目录自动挂载到media/下

二、共享目录php的修改权限

建议不要尝试手动去挂载,手动挂载后的目录,所属用户和用户组都是root,且无法更改,会导致php因为权限无法修改其中的文件(无论你怎么尝试,此问题耗费4H+的人奉劝)

自动挂载上的目录用户和所属组为 root:vboxsf,此时我们去修改php的启动用户和用户组

1
vim /usr/local/server/php/etc/php-fpm.d/www.conf
1
2
3
4
5
6
#默认
user = nginx
group = nginx
#修改为
user = nginx
group = vboxsf

此处我还将nginx用户加入了vboxsf组,当然不知道起没起到决定性的作用,但建议你这样做

1
usermod -a -G vboxsf nginx

注意:修改用户及用户组相关配置后,重启生效

三、laravel cache 配置

清除缓存常常能解决很多问题

1
2
3
php artisan config:clear
php artisan cache:clear
php artisan config:cache
四、npm i

假如你需要使用node.js ,那么NPM i 安装模块的过程中可能会遇到报软连接无法使用之类的错误

VirtualBox的共享文件夹不支持软连接,所以要么

1
npm install --no-bin-links

告诉NPM 我用不了软连接,你给我换种玩法,或者

在本机npm i来安装模块(本机装node)

CATALOG
  1. 1. VirtualBox直接搭建laravel开发环境可能遇到的坑:
    1. 1.1. 一、共享目录的挂载与访问
    2. 1.2. 二、共享目录php的修改权限
    3. 1.3. 三、laravel cache 配置
    4. 1.4. 四、npm i