AWS Elastic BeanStalk php.ini 文件更新

Posted

技术标签:

【中文标题】AWS Elastic BeanStalk php.ini 文件更新【英文标题】:AWS Elastic BeanStalk php.ini file update 【发布时间】:2021-12-30 09:52:02 【问题描述】:

我想将我的 php Web 应用程序的最小上传文件大小从 2MB 增加到 64MB。我在 .ebextensions 目录中存储了一个配置文件。在部署到 aws 时,发生错误:

应用程序版本 try10 中的配置文件 .ebextensions/yep.config 包含无效的 YAML 或 JSON。 YAML 异常:扫描“”中的简单键时,第 7 行第 7 列:upload_max_filesize = 64M ^ 无法在“”第 8 行第 7 列中找到预期的 ':':post_max_size = 64M ^,JSON 异常:意外字符 ( f) 在位置 0.. 更新配置文件。

下面是我开始使用的配置文件。我花了 8 个小时进行故障排除,但没有运气。非常感谢任何帮助。

files:
"/etc/php.ini":
  mode: "000755"
  owner: root
  group: root
  content: |
  upload_max_filesize = 64M
  post_max_size = 64M

【问题讨论】:

您的 php.ini 路径是问题我猜 php.ini 的路径大多数时候是“/etc/php5/apache2/php.ini”。 Ans 更新后,您也必须重新启动 apache。 好的,我会试试的.. 是的,它仍然给我同样的错误..所以代码有问题 你的服务器上有 apache 吗? 是的,它的 apache 2.0 处理程序 【参考方案1】:

我在 Elastic Beanstalk 应用程序中成功使用了它。只需将以下内容放入应用程序根目录中 .ebextensions 目录中的 yep.config 文件中即可。

files:
  "/etc/php.d/project.ini" :
    mode: "000644"
    owner: root
    group: root
    content: |
      upload_max_filesize=64M
      post_max_size=64M

【讨论】:

还要确保使用空格而不是制表符,并确保文件中没有放置任何可能导致 AWS 解析所需值出现问题的隐藏字符。 我真的很感激它。它成功了。再次感谢你! 仅供参考,如果您在 .ebextensions 中有多个 .config 文件,它们将按字母顺序执行。 PHP .ini 文件也是如此 - PHP 将按字母顺序扫描所有以 .ini 结尾的文件。 @infohound 感谢您的修复,它运行良好。希望 AWS 围绕 .ebextensions 开始一个好的文档

以上是关于AWS Elastic BeanStalk php.ini 文件更新的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk PHP 日志不在 CloudWatch 中

AWS Elastic BeanStalk php.ini 文件更新

如何在 AWS Elastic Beanstalk Docker 容器中记录 PHP 错误

PHP AWS Elastic Beanstalk 后台工作者

在 AWS Elastic Beanstalk 中,如何更改 php.ini 的参数

在 AWS Elastic Beanstalk 上部署后运行 PHP 脚本