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?
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