2012-01-17 19 views
7

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?

+0

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

Respuesta

2

En /etc/apache2/mods-enabled/php5.load puede determinar qué versión de php utilizará Apache (tiene que estar instalado).

+0

No he visto esto en mucho tiempo, pero apuesto a que este fue el problema. Apuesto que cuando instalé el módulo Apache PHP, no estaba especificando la versión correcta de PHP ya que la versión CLI era correcta. – Andrew

Cuestiones relacionadas