我正在尝试在 AWS Opsworks 上运行 php 5.4。
当我添加“PHP 应用服务器”层时,我得到以下描述“PHP 应用服务器层是作为 PHP 应用服务器运行的实例的蓝图。默认情况下安装 PHP 5.3 和 Apache 2.2。”
我尝试使用经过一些修改的“PHP App Sever”。我尝试过 Custom Chef Recipes(来自 git://github.com/evopix/opsworks-cookbooks.git):mod_php54_apache2”和“deploy::php54”
在调查日志和代码后,我注意到它仍在安装 5.3,而在尝试安装 5.4 时失败。
我正在考虑的另一个选择是选择“自定义层”,然后创建自己的食谱、查找其他人的食谱或修改一个足够接近的食谱。我注意到 AWS Chef 食谱似乎对 PHP 5.3 有很多硬编码依赖,所以我不确定修改他们的代码需要多少努力。
理想情况下,如果 AWS 即将发布 PHP 5.3 或 5.4 和/或 Apache 或 Nginx 等选项,那就太好了,但我无法找到有关他们将何时更新其配方的任何信息。
TL/DR:如何在 AWS Opsworks 上安装 PHP 5.4。有人有我可以使用的 Chef 配方吗?或者有修改已存在的 Chef 配方的指南吗?
答案1
我已经开源了我编写的 php 5.4 应用层。注意它现在仅支持 Amazon Linux AMI。
https://github.com/aporat/opsworks-php54-app-layer-cookbooks
它通过覆盖一些 opsworks 配方来使用 PHP App 层,以安装支持 mysql 5.5 的 php 5.4。
它还包含一个 phpapp cookbook,它提供了一种从 git 存储库部署 php 应用程序的更简单方法。它不会在每次部署时克隆整个存储库,而是git pull
仅用于提取更改。
答案2
问候。我从GitHub 这里:
apt_repository "dotdeb-php54" do
uri "http://packages.dotdeb.org"
distribution "squeeze-php54"
components ["all"]
key "http://www.dotdeb.org/dotdeb.gpg"
end
此食谱附带多特德布拥有PHP 5.4包括。
使用流浪汉(强烈推荐)部署于AWS, 你可以做:
chef.add_recipe("dotdeb")
chef.add_recipe("dotdeb::php54")
chef.add_recipe("apache2")
chef.add_recipe("apache2::mod_php5")
chef.add_recipe("apache2::mod_rewrite")
chef.add_recipe("php")
在测试中EC2实例