2012-01-17 1 views
7

Je suis relativement nouveau à l'utilisation Vagrant et Chef. Je cours actuellement Ubuntu Lucid 64 et en utilisant le Opscode PHP cookbook qui installe PHP 5.3.2, en tant que paquet, par défaut. Je voudrais installer PHP 5.3.8 ou 9 (à la source ou en tant que paquet) mais je n'arrive pas à comprendre comment le configurer correctement. J'ai copié sur les livres de recettes dépendants (build-essential, xml, mysql). C'est ce que j'ai jusqu'à présent:Vagabond et Chef: Comment installer une nouvelle version de PHP?

# vagrant_main/recipes/default.rb 

require_recipe "apt" 

node.override["php"]["version"] = "5.3.9" 
require_recipe "php::source" 

Mais j'obtiens une erreur. Voici les lignes pertinentes de la trace de la pile:

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' 

Mise à jour: Si je dis la recette PHP pas à vous soucier de MySQL, il semble installer bien ...

node.override["php"]["version"] = "5.3.9" 
node.override["php"]["configure_options"]["mysql"] = false 
require_recipe "php::source" 

.. Cependant, Apache ne semble pas savoir quelle version de PHP il fonctionne. php_info() signale qu'il utilise PHP 5.3.2, mais la ligne de commande (php -v) signale correctement 5.3.9.

Qu'est-ce que je fais mal?

+0

Je n'ai aucune expérience avec Vagrant, mais il est tout à fait possible d'avoir différentes versions de PHP sur votre système (la version cli une version, et soit le module de cgi dans le serveur web une autre), je pense que . – Wrikken

Répondre

2

Dans /etc/apache2/mods-enabled/php5.load, vous pouvez déterminer quelle version de PHP sera utilisée par Apache (elle doit être installée).

+0

Je n'ai pas regardé cela depuis longtemps, mais je parie que c'était le problème. Je parie que lorsque j'ai installé le module PHP Apache, il ne spécifiait pas la bonne version de PHP puisque la version CLI était correcte. – Andrew

Questions connexes