2012-01-17 12 views
7

私は比較的新しいVagrantChefを使用しています。私は現在、Ubuntu Lucid 64を実行しており、デフォルトでパッケージとしてP​​HP 5.3.2をインストールするOpscode PHP cookbookを使用しています。私はPHP 5.3.8または9(どちらかソースまたはパッケージとして)をインストールしたいと思いますが、正しく設定する方法を理解できないようです。私は依存する料理ブック(ビルド - 必須、xml、mysql)をコピーしました。これは私が今までに持っているものです:バグやシェフ:新しいバージョンのPHPをインストールするには?

# 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' 

アップデート:私は、MySQLを心配しないようにPHPのレシピを教えている場合、うまくインストールするようだ ...

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を正しく報告しています。

私は間違っていますか?

+0

私はVagrantの経験はありませんが、システム上に異なるバージョンのPHPを用意することは可能です(cli variant 1バージョンとWebサーバーの別のcgiモジュールのどちらか)。 。 – Wrikken

答えて

2

/etc/apache2/mods-enabled/php5.loadでは、Apacheが使用するバージョンのphp(インストールが必要)を判断できます。

+0

私はこれを長い間見ていないが、これは問題だと思う。 ApacheのPHPモジュールをインストールしたとき、CLIのバージョンが正しいので、正しいバージョンのPHPを指定していなかったと思います。 – Andrew

関連する問題