Я относительно новичок в использовании Vagrant и Chef .В настоящее время я использую Ubuntu Lucid 64 и использую поваренную книгу PHP Opscode , которая по умолчанию устанавливает PHP 5.3.2 в виде пакета.Я хотел бы установить PHP 5.3.8 или 9 (из исходного кода или в виде пакета), но я не могу понять, как правильно его настроить.Я скопировал зависимые поваренные книги (build-essential, xml, mysql).Это то, что у меня есть:
# vagrant_main/recipes/default.rb
require_recipe "apt"
node.override["php"]["version"] = "5.3.9"
require_recipe "php::source"
Но я получаю сообщение об ошибке.Вот соответствующие строки трассировки стека:
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'
Обновление: Если я скажу рецепту PHP не беспокоиться о MySQL, похоже, что он отлично работает ...
node.override["php"]["version"] = "5.3.9"
node.override["php"]["configure_options"]["mysql"] = false
require_recipe "php::source"
... однако, Apache, похоже, не знает, какая версия PHP работает.php_info()
сообщает, что использует PHP 5.3.2, но командная строка (php -v
) правильно сообщает 5.3.9.
Что я делаю не так?