在 AWS 上自定义 EC2 实例 php.ini 文件时出错

在 AWS 上自定义 EC2 实例 php.ini 文件时出错

我在 AWS 上使用 Elastic Beanstalk,并尝试覆盖 php.ini 文件中的某些设置。我创建了目录 /.ebextensions,其中包含 project.config:

files:
  "/etc/php.d/project.ini" :
  mode: "000644"
  owner: ec2-user
  group: ec2-user
  content: |
    date.timezone = "Europe/Berlin"
    error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING
    display_errors = Off

当我重新部署应用程序时,EBS 抛出以下错误:

The configuration file __MACOSX/gf/.ebextensions/._project.config in application version gf3 contains invalid YAML or JSON. YAML exception: unacceptable character '' (0x0) special characters are not allowed in "<reader>", position 0, JSON exception: Unexpected character () at position 0.. Update the configuration file.

我做错了什么?

更新:

__MACOSX/ 从档案中删除现在引发错误:

The configuration file gf/.ebextensions/project.config in application version gf4 contains invalid YAML or JSON. YAML exception: while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 7, column 1: date.timezone = "Europe/Berlin" ^ , JSON exception: Unexpected character (f) at position 0.. Update the configuration file.

该文件似乎有问题,但我无法找出问题所在。

编辑:我需要从文件中删除几个制表符并用空格替换。这解决了这个问题,并给出了下面的答案。

答案1

你正在使用 Macintosh,并且你让隐藏__MACOSX目录进入您的部署。这些文件是在您压缩目录以保存 OS X 特定资源分支时生成的,这些文件在任何其他操作系统上都是无用的。

如果您要使用zip打包应用程序进行部署,则需要删除这些,最好使用git、Capistrano 或一些真正适合部署软件的东西。

相关内容