【问题标题】:How to use Chef PHP cookbook to install version higher than 5.3.3 [closed]如何使用 Chef PHP 食谱安装高于 5.3.3 的版本 [关闭]
【发布时间】:2014-02-03 14:56:48
【问题描述】:

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

无论我做什么 - Chef 都会继续安装 PHP 5.3.3。

我想知道如何使用这本食谱来安装更新版本的 PHP - 或者了解它是否可能。我在默认属性设置中看到了对 PHP 5.3.28 和 5.4.15 的引用 - 所以我的印象是它应该是可能的。

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

【问题讨论】:

  • 为什么这个问题被关闭为题外话? DevOps 是在诚实地编程。

标签: php centos chef-infra chef-recipe


【解决方案1】:

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

对 5.4.15 的引用用于源安装。你必须使用另一个食谱

php::source

您可以从 Chef 设置 PHP 的首选版本

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

【讨论】:

  • 您好 - 感谢您的回复。我已经尝试过这种方法,但由于某种原因,我仍然在 RHEL6 上使用 PHP 5.3.3。我在运行列表中只包含了“php::source”配方,并将 php 版本添加到运行列表中的“default_attributes”中。我正在运行一个特定于应用程序的说明书,其中包括 php 说明书、发现和更新 PEAR 存储库,并安装了一些额外的包,例如 php-mbstring、php-pdo 和 php-pdo_mysql。不知道这是否与它有关 - 我会尝试让他们离开,看看会发生什么......
  • Gosh - 在干净的实例上只运行 php::source 接收。删除了其他任何东西 - 直接开箱即用。它遍历源配方中列出的所有 php 扩展 - 然后运行 ​​php::package。超级困惑 - 我在 php:source 配方中没有看到任何引用 php:package 的代码。我完全错过了什么吗? php::package * package[php] action install (最新) * package[php-devel] action install - 安装 php-devel 包的 5.3.3-27.el6_5 版本
  • 我没有太多经验使用源代码安装和厨师。因此,您可能必须编写一个厨师食谱来在支持 PHP 5.5 的 RHEL 中安装一个 repo。并更新 php 配方以安装 5.5 for RHEL。
  • 所以 - 我设法通过在我的运行列表中将 PHP 说明书移动到 Apache 说明书之前来实现它。如果我包含 Apache::mod_php5 配方,如果它没有发现 PHP 已经安装,它将在 RHEL 系列平台上安装 php53 包。但是 - 然后我继续遇到从源代码安装 PHP 时 libphp5.so 文件未添加到 Apache 安装的问题。
  • 安装PHP后还安装apache2-php5吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
  • 2014-05-08
相关资源
最近更新 更多