Como instalar o APC em uma caixa vagrant rodando o Ubuntu 12.04 com o PHP 5.4?

2

No meu arquivo "Vagrant", tenho esta linha:

chef.add_recipe("php::module_apc")

Mas isso me dá esse erro:

[2013-01-11T22:14:53+00:00] INFO: Processing package[php-apc] action install (php::module_apc line 34)
================================================================================
Error executing action 'install' on resource 'package[php-apc]'
================================================================================
Chef::Exceptions::Exec
----------------------
apt-get -q -y install php-apc=3.1.7-1 returned 100, expected 0

Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/php/recipes/module_apc.rb

 33: when "debian"
 34:   package "php-apc" do
 35:     action :install
 36:   end
 37: end

Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/php/recipes/module_apc.rb:34:in 'from_file'

package("php-apc") do
  retry_delay 2
  retries 0
  recipe_name "module_apc"
  action [:install]
  cookbook_name :php
  package_name "php-apc"
end
[2013-01-11T22:14:53+00:00] ERROR: Running exception handlers
[2013-01-11T22:14:53+00:00] ERROR: Exception handlers complete
[2013-01-11T22:14:53+00:00] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out
[2013-01-11T22:14:53+00:00] FATAL: Chef::Exceptions::Exec: package[php-apc] (php::module_apc line 34) had an error: Chef::Exceptions::Exec: apt-get -q -y install php-apc=3.1.7-1 returned 100, expected 0
Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.

Eu também estou executando isso antes:

chef.add_recipe("apt")

Mas também não ajuda.

Alguma idéia de como corrigir isso? Muito obrigado!

Btw, estou usando todos os livros de receitas da OpsCode: link

    
por Thasmo 12.01.2013 / 00:14

3 respostas

0

Acabei de passar no seguinte teste:

Lista de reprodução do Vagrantfile:

chef.run_list = [
  "recipe[apt]",
  "recipe[php::module_apc]"
]

Usando o Ubuntu 12.04, Chef 10.14.2 e as seguintes versões do livro de receitas:

  • apt (1.4.8)
  • php (1.1.0)
  • build-essential (1.3.2) (dependência)
  • xml (1.0.4) (dependência)
  • mysql (2.1.0) (dependência)
  • openssl (1.0.0) (dependência)

Funciona completamente e termina com:

vagrant@apctest:~$ dpkg -l | grep php
ii  php-apc                         3.1.7-1                    APC (Alternative PHP Cache) module for PHP 5
ii  php5-common                     5.3.10-1ubuntu3.4          Common files for packages built from the php5 source
ii  php5-fpm                        5.3.10-1ubuntu3.4          server-side, HTML-embedded scripting language (FPM-CGI binary)

Então:

Eu sugeriria usar livros de culinária atualizados atualizados no Site da Comunidade em vez da fonte do GitHub - o as versões lançadas são "estáveis" em relação aos repos que estão em constante desenvolvimento.

    
por 19.01.2013 / 03:20
0

Eu posso estar errado, mas o erro não parece estar relacionado a uma incompatibilidade de versões.

Faça o login na caixa e execute sudo apt-get update . Efetue logout e veja se você pode provisionar com vagrant provision . Às vezes, uma atualização não é concluída corretamente e só precisa ser executada novamente.

Se isso não funcionar, faça o login e tente sudo apt-get install php-apc=3.1.7-1 para ver qual é o erro do apt.

    
por 27.02.2015 / 16:00
0

A APC é integrada ao pacote PHP-5.4 + como módulo padrão e não precisa de instalação como um pacote separado como o PHP-5.3 e as necessidades anteriores. Portanto, um erro é lançado quando você tenta instalar o módulo que já existe no sistema.

    
por 11.02.2018 / 12:24