我们的代码库使用PHP 5.5,我们想要在AWS Opsworks上进行部署,但是当selectPHP App Server层时,我们被告知它有PHP 5.3。
我希望的是,我可以使用默认的PHP应用服务器层,然后指定php55 php55-cli和php-mcrypt作为OS包 – 
但是,我最终以下面的日志。
我的实际目标是这样的;
所以在这里的任何帮助将不胜感激。
[2014-04-07T04:37:58+00:00] INFO: execute[Clean up] ran successfully [2014-04-07T04:37:58+00:00] INFO: Processing package[php-mcrypt] action upgrade (dependencies::default line 14) [2014-04-07T04:37:58+00:00] INFO: Processing package[php55] action upgrade (dependencies::default line 14) [2014-04-07T04:37:58+00:00] INFO: package[php55] installing php55-5.5.7-1.65.amzn1 from amzn-updates repository ================================================================================ Error executing action `upgrade` on resource 'package[php55]' ================================================================================ Chef::Exceptions::Exec ---------------------- returned 1, expected 0 Resource Declaration: --------------------- # In /var/lib/aws/opsworks/cache/cookbooks/dependencies/recipes/default.rb 14: package rpm do 15: action :upgrade 16: version(version) 17: end 18: end Compiled Resource: ------------------ # Declared in /var/lib/aws/opsworks/cache/cookbooks/dependencies/recipes/default.rb:14:in `block in from_file' package("php55") do action [:upgrade] retries 0 retry_delay 2 package_name "php55" version "5.5.7-1.65.amzn1" cookbook_name "dependencies" recipe_name "default" end
在这种情况下,您必须使用自定义食谱 。
在实例创build过程中,您的自定义主厨食谱与默认的AWS Chef Cookbook合并,您可以控制部署应用程序需要执行哪些操作。
您还可以更改PHP应用服务器的默认AWS Chef配方,或者创build一个自定义层并控制几乎所有的东西。