我们的 vagrant box 需要大约 1 小时来配置vagrant up,因此当第一次运行时,在配置过程的最后,我想将该框打包到本地文件夹中的图像,以便下次可以将其用作基本框需要重建。我正在使用 vagrant-triggers 插件将代码放在 :up 进程的末尾。
相关(缩短的)Vagrantfile:
pre_built_box_file_name = 'image.vagrant'
pre_built_box_path = 'file://' + File.join(Dir.pwd, pre_built_box_file_name)
pre_built_box_exists = File.file?(pre_built_box_path)
Vagrant.configure(2) do |config|
config.vm.box = 'ubuntu/trusty64'
config.vm.box_url = pre_built_box_path if pre_built_box_exists
config.trigger.after :up do
if not pre_built_box_exists
system("echo 'Building gett vagrant image for re-use...'; vagrant halt; vagrant package --output #{pre_built_box_file_name}; vagrant up;")
end
end
end
Run Code Online (Sandbox Code Playgroud)
vagrant up问题是 vagrant 在当前 ( ) 进程运行时锁定机器:
An action 'halt' was attempted on the machine 'gett',
but another …Run Code Online (Sandbox Code Playgroud) 我正在尝试在包含大量 .js 文件的站点上调试一些样式问题。其中一个脚本会在单击时向输入元素添加一些 css 属性。
有没有一种简单的方法可以使用 Chrome 开发人员工具找到哪个脚本及其哪一部分更改了这些 css 属性?
Chrome 版本 34.0.1847.116
我使用Doctrine在数组中存储选项/奇数数据的各个位,并将其序列化到数据库,然后将其存储为blob.一切都工作正常,直到今天我必须得到两次数组,并注意到它只是第一次得到正确的值.任何连续的尝试都返回false,这是unserialize/stream_get_contents失败时返回的内容.
我最好的猜测是,在获取数据之后,学说会关闭流,但这没有多大意义.我需要在整个请求中提供数据.我不是溪流的专家所以:
如何多次获取blob数据或阻止流关闭?
学说实体及其方法:
/**
* @var resource
*
* @ORM\Column(name="options", type="blob")
*/
private $options;
/**
* Set options
*
* @param array $options
*
* @return Campaign
*/
public function setOptions($options)
{
$this->options = serialize($options);
return $this;
}
/**
* Get options
*
* @return array
*/
public function getOptions()
{
return unserialize(stream_get_contents($this->options));
}
Run Code Online (Sandbox Code Playgroud)
检索序列化选项数组:
$campaign = $this->em->getRepository('TreasureForgeMessageBundle:Campaign')->find(1);
$options1 = $campaign->getOptions(); // Correct options array
$options2 = $campaign->getOptions(); // false
$options3 = $campaign->getOptions(); // false
Run Code Online (Sandbox Code Playgroud)
非常感谢!