Symfony 流浪者箱上的慢符号

Symfony 流浪者箱上的慢符号,symfony,vagrant,Symfony,Vagrant,我在Windows7上,我正在使用vagrant box进行一个Symfony2项目 我为nfs配置了: Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise32" config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :forwarded_port, host: 1234, guest: 80 config.vm.

我在Windows7上,我正在使用vagrant box进行一个Symfony2项目

我为nfs配置了:

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/precise32"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, host: 1234, guest: 80
  config.vm.network "private_network", ip: "192.168.50.4"
  config.vm.synced_folder ".", "/var/www", type: "nfs"
  config.vm.provider "virtualbox" do |v|
    v.memory = 2048
    v.cpus = 2
  end
end
但我的Symfony2项目仍然非常缓慢


我能做什么?我没有找到一个好的解决方案…

app/AppKernel.php
中的
cacheDir
logDir
覆盖到NFS共享之外的目录通常会大大提高性能。例如:

public function getCacheDir()
{
    return '/tmp/symfony/cache';
}

public function getLogDir()
{
    return '/tmp/symfony/logs';
}

唯一的缺点:您无法检查主机系统中的缓存和日志文件。这也可能意味着您在IDE中失去了自动完成功能(例如,带有Symfony2插件的PHPStorm)。

尝试将
供应商/
移动到共享目录之外。

由于在我们的项目中,没有任何重新定位供应商文件夹的方法对我有效,我提出了以下解决方案:

  • 在Vagrant中为Virtualbox启用符号链接。(出于安全原因,默认情况下禁用此功能,因此仅在开发人员计算机上执行此操作。)请参阅:

  • 在共享目录外创建“var”和“vendor”文件夹(通常为“/vagrant”)。(不要忘记为这些文件夹设置正确的所有者。)

  • 将它们链接到共享文件夹(“/vagrant”)中。(如果文件夹已经存在,请删除它们。)

  • 仅在前面的步骤之后执行“composer安装”

  • 因为搬迁,我的速度提高了4-6倍。

    可能会重复
    config.vm.provider "virtualbox" do |vb|
        vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
    end
    
    mkdir -p /var/cache/MyProject/var
    mkdir -p /var/cache/MyProject/vendor
    
    ln -s /var/cache/MyProject/var /vagrant/var
    ln -s /var/cache/MyProject/vendor /vagrant/vendor