如何使用Chef PHP cookbook安装高于5.3.3的版本

如何使用Chef PHP cookbook安装高于5.3.3的版本,php,centos,chef-infra,chef-recipe,Php,Centos,Chef Infra,Chef Recipe,我正在使用Opscode社区PHP cookbook在节点上安装PHP。节点是CentOS,我已尝试将install_方法设置为“source”,并尝试覆盖角色文件中的版本 无论我做什么,Chef都会继续安装PHP5.3.3 我想知道如何使用这本食谱来安装新版本的PHP,或者了解它是否可行。我在默认属性设置中看到了对PHP5.3.28和5.4.15的引用,所以我觉得这应该是可能的 有人知道我如何做到这一点吗?Chef只使用系统包存储库中可用的包。所以在你的情况下可能是5.3 参考5.4.15是源

我正在使用Opscode社区PHP cookbook在节点上安装PHP。节点是CentOS,我已尝试将install_方法设置为“source”,并尝试覆盖角色文件中的版本

无论我做什么,Chef都会继续安装PHP5.3.3

我想知道如何使用这本食谱来安装新版本的PHP,或者了解它是否可行。我在默认属性设置中看到了对PHP5.3.28和5.4.15的引用,所以我觉得这应该是可能的


有人知道我如何做到这一点吗?

Chef只使用系统包存储库中可用的包。所以在你的情况下可能是5.3

参考5.4.15是源代码安装。你得用另一个食谱

php::source
您可以从chef设置PHP的首选版本

:php => {
  :version => "5.5",
},

你好,谢谢你的回复。我尝试过这种方法,由于某种原因,我仍然在RHEL6上使用PHP5.3.3。我在我的运行列表中只包含了“php::source”配方,并将php版本添加到运行列表中的“default_属性”中。我正在运行一个特定于应用程序的cookbook,其中包括php cookbook,发现并更新PEAR repo,并安装一些附加包,如php mbstring、php pdo和php-pdo_mysql。不确定这是否与此有关-我将尝试在运行时忽略这些,看看会发生什么…天哪-在干净的实例上只运行php::source receipe。删除任何其他内容-直接从盒子中取出。它将遍历源代码配方中列出的所有php扩展,然后运行php::package。超级混乱-我在php:source配方中没有看到任何引用php:package的代码。我完全错过了什么吗?php::package*package[php]action安装(最新)*package[php-devel]action安装-安装5.3.3-27.el6_5版的package php-develI没有使用chef的源代码安装的经验。因此,您可能需要编写一个厨师食谱,以便在RHEL中安装支持PHP5.5的repo。并更新php配方以安装RHEL的5.5。因此,我在运行列表中将php食谱移动到Apache食谱之前,从而成功地实现了这一点。如果我包括Apache::mod_php5配方,它将在RHEL系列平台上安装php53包,如果它没有发现已经安装了PHP。然而,我在从源代码安装PHP时继续遇到libphp5.so文件未添加到Apache安装中的问题。安装PHP后您是否仍安装apache2-php5?为什么这个问题作为主题外的问题结束?DevOps正在诚实地编程。