如何在没有 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 挂载