Я использую Elastic Beanstalk на AWS и пытаюсь изменить некоторые настройки из файла 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.
Кажется, что-то не так с файлом, но я не могу определить, что именно.
РЕДАКТИРОВАТЬ: мне нужно было удалить пару вкладок из файла и заменить их пробелами. Это исправило его вместе с ответом ниже.
Вы используете Macintosh и позволяете скрытый __MACOSX
каталоги попасть в ваше развертывание. Эти файлы создаются, когда вы архивируете каталог для хранения специфичных для OS X вилок ресурсов, которые бесполезны в любой другой операционной системе.
Если вы собираетесь использовать zip
чтобы упаковать приложение для развертывания, вам необходимо удалить эти. Лучше использовать git
, Capistrano или что-то действительно подходящее для развертывания программного обеспечения.