Soy relativamente nuevo en el uso de Vagrant y Chef. Actualmente estoy ejecutando Ubuntu Lucid 64 y usando el Opscode PHP cookbook que instala PHP 5.3.2, como un paquete, de manera predeterminada. Me gustaría instalar PHP 5.3.8 o 9 (ya sea desde el origen o como un paquete), pero parece que no puedo encontrar la forma de configurarlo correctamente. He copiado los libros de cocina dependientes (build-essential, xml, mysql). Esto es lo que tengo hasta ahora:Vagrant and Chef: ¿Cómo instalar una versión más nueva de PHP?
# vagrant_main/recipes/default.rb
require_recipe "apt"
node.override["php"]["version"] = "5.3.9"
require_recipe "php::source"
Pero me está llegando un error. Estas son las líneas pertinentes del seguimiento de la pila:
NameError: wrong constant name DebianBeforeSqueeze?
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/recipe_definition_dsl_core.rb:56:in `const_defined?'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/recipe_definition_dsl_core.rb:56:in `method_missing'
/tmp/vagrant-chef-1/chef-solo-1/mysql/recipes/client.rb:26:in `from_file'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/cookbook_version.rb:578:in `load_recipe'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:40:in `include_recipe'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `each'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `include_recipe'
/tmp/vagrant-chef-1/chef-solo-1/php/recipes/source.rb:25:in `from_file'
Actualización: Si digo la receta PHP no preocuparse de MySQL, parece que instalar bien ...
node.override["php"]["version"] = "5.3.9"
node.override["php"]["configure_options"]["mysql"] = false
require_recipe "php::source"
.. . Sin embargo, Apache no parece saber qué versión de PHP está ejecutando. php_info()
informa que está utilizando PHP 5.3.2, pero la línea de comandos (php -v
) informa correctamente 5.3.9.
¿Qué estoy haciendo mal?
No tengo experiencia con Vagrant, pero es completamente posible tener diferentes versiones de PHP en su sistema (la variante cli una, y el módulo de cgi en el servidor web otra), creo que es el caso atm . – Wrikken