如何在没有 nfs 的 Vagrant 上运行 Symfony2 应用程序(例如在 Windows 上)?

Posted

技术标签:

【中文标题】如何在没有 nfs 的 Vagrant 上运行 Symfony2 应用程序(例如在 Windows 上)?【英文标题】:How to run Symfony2 application on Vagrant without nfs (on Windows, for example)? 【发布时间】:2014-12-10 11:14:00 【问题描述】:

在 Vagrant/Windows 上使用默认设置运行 Symfony2 应用程序时非常慢。

对此有什么办法?

【问题讨论】:

【参考方案1】:

到目前为止,我发现的最佳解决方案是将vendor/ 移到共享文件夹之外。

它不需要 nfs,只需进行两个简单的更改即可轻松完成。

composer.json 的一个变化:

//filename: composer.json

    ...
    "config": 
        "bin-dir": "bin",
        "vendor-dir": "/home/vagrant/symfony2app/vendor"
    ,
    ...

app/autoload.php 的一项更改:

//filename: app/autoload.php
/**
 * @var ClassLoader $loader
 */
$loader = require '/home/vagrant/symfony2app/vendor/autoload.php';

结果确实令人惊叹。尤其是在 Windows 上。

更多详情:http://by-examples.net/2014/12/09/symfony2-on-vagrant.html

【讨论】:

这是个聪明的主意,我的vendor 包含大约 12,000 个文件,使用 NFS 共享这些文件会非常慢。

以上是关于如何在没有 nfs 的 Vagrant 上运行 Symfony2 应用程序(例如在 Windows 上)?的主要内容,如果未能解决你的问题,请参考以下文章

加快 Vagrant 上主机和来宾之间的同步延迟(NFS 同步文件夹)

Vagrant:如何禁用 Windows 主机的 NFS 同步文件夹?

Vagrant 挂在 Ubuntu 14.04 上的 NFS 挂载

vagrant up 卡在挂载 nfs 上

Vagrant,共享文件夹:利用 inotify over NFS

如果 PhpStorm 上的大小没有变化,Vagrant NFS 共享不会显示更新的文件