Vagrant e Chef: come installare una versione più recente di PHP?
Domanda
Sono relativamente nuovo nell'usare Vagabondo e Chef. Attualmente sto eseguendo Ubuntu Lucid 64 e usando il Libro di cucina PHP OPSCODE che installa PHP 5.3.2, come pacchetto, per impostazione predefinita. Vorrei installare PHP 5.3.8 o 9 (dalla sorgente o come pacchetto) ma non riesco a capire come configurarlo correttamente. Ho copiato i libri di cucina dipendenti (build-essenziale, XML, MySQL). Questo è quello che ho finora:
# vagrant_main/recipes/default.rb
require_recipe "apt"
node.override["php"]["version"] = "5.3.9"
require_recipe "php::source"
Ma sto ricevendo un errore. Ecco le linee rilevanti della traccia dello stack:
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'
Aggiornare: Se dico alla ricetta PHP di non preoccuparti di MySQL, sembra installare bene ...
node.override["php"]["version"] = "5.3.9"
node.override["php"]["configure_options"]["mysql"] = false
require_recipe "php::source"
... Tuttavia, Apache non sembra sapere quale versione di PHP è in esecuzione. php_info()
sta segnalando che sta usando PHP 5.3.2, ma riga di comando (php -v
) è correttamente segnalato 5.3.9.
Che cosa sto facendo di sbagliato?
Nessuna soluzione corretta