如何通过 ebextensions 在 aws elastic beanstalk 上启用 php-fpm

Posted

技术标签:

【中文标题】如何通过 ebextensions 在 aws elastic beanstalk 上启用 php-fpm【英文标题】:How to enable php-fpm on aws elastic beanstalk via ebextensions 【发布时间】:2020-05-20 17:38:21 【问题描述】:

我正在尝试修改https://gist.github.com/mattzuba/430a3a0b4cd36a2cc1ac#file-01_httpd_phpfpm-config

在我的运行 php 7 和 amazon linux 的 aws beankstalk 实例上工作。

这是修改后的版本。 https://pastebin.com/JM9DNcsa

但是当我部署时,我得到了很多错误。

  [04-Feb-2020 17:22:28] ERROR: Unable to include /etc/php-fpm-7.1.d/www.conf from /etc/php-fpm.conf at line 5
  [04-Feb-2020 17:22:28] ERROR: failed to load configuration file '/etc/php-fpm.conf'
  [04-Feb-2020 17:22:28] ERROR: FPM initialization failed
  [FAILED] (ElasticBeanstalk::ExternalInvocationError)
caused by: Starting php-fpm-7.1: [04-Feb-2020 17:22:28] ERROR: [/etc/php-fpm-7.1.d/www.conf:5] unknown entry '#listen'
  [04-Feb-2020 17:22:28] ERROR: Unable to include /etc/php-fpm-7.1.d/www.conf from /etc/php-fpm.conf at line 5
  [04-Feb-2020 17:22:28] ERROR: failed to load configuration file '/etc/php-fpm.conf'
  [04-Feb-2020 17:22:28] ERROR: FPM initialization failed
  [FAILED] (Executor::NonZeroExitStatus)


[2020-02-04T17:22:28.532Z] ERROR [12942] : Command CMD-AppDeploy failed!
[2020-02-04T17:22:28.533Z] INFO  [12942] : Command processor returning results: 
"status":"FAILURE","api_version":"1.0","results":["status":"FAILURE","msg":"(TRUNCATED)...4-Feb-2020 17:22:28] ERROR: Unable to include /etc/php-fpm-7.1.d/www.conf from /etc/php-fpm.conf at line 5\n[04-Feb-2020 17:22:28] ERROR: failed to load configuration file '/etc/php-fpm.conf'\n[04-Feb-2020 17:22:28] ERROR: FPM initialization failed\n[FAILED]. \nHook /opt/elasticbeanstalk/hooks/appdeploy/pre/27_phpfpm_start.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI","returncode":1,"events":[]],"truncated":"true"

如果我 ssh 进入 ec2,在许多其他文件中,我确实在 /etc/ 中看到以下内容

php-7.1.conf                     
php-7.1.d                        
php-7.1.ini                        
php.d                              
php-fpm-7.1.conf                   
php-fpm-7.1.d                      
php-fpm.conf                       
php-fpm.d                          
php.ini                            
php-zts-7.1.d 

感谢任何帮助。

【问题讨论】:

【参考方案1】:

您似乎正在使用 # 来评论 /etc/php-fpm.d/www.conf 中的第 5 行(文件中的第 66 行)。您只需将其替换为 ;

来自https://www.php.net/manual/en/configuration.file.php7.0.0 Hash marks (#) are no longer recognized as comments.

【讨论】:

以上是关于如何通过 ebextensions 在 aws elastic beanstalk 上启用 php-fpm的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .ebextensions 配置中使用条件(AWS Elastic Beanstalk)

通过ebextensions在aws elastic beanstalk中用nginx替换apache

如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

AWS Elastic Beanstalk:如何在 ebextensions 中使用环境变量?

通过 Maven 为 Spring Boot 应用程序创建 AWS Beanstalk 的 .ebextensions 的正确方法是啥

在 aws elastic beanstalk 中创建 .ebextensions 文件夹