Нет соответствующих пакетов ** в ansible

Я пытаюсь установить список пакетов с помощью ansible и не могу понять, в чем проблема.

- name: Add PHP 7.2 repo
  apt_repository:
         repo: ppa:ondrej/php
         state: present
  register: ppastable

- name: install php7.2-fpm and all necessary modules
  apt: name={{ item }} state=present
  with_items:
     - php7.2-fpm
     - php7.2-gd
     - php7.2-curl
     - php7.2-mysql
     - php7.2-mcrypt
     - php7.2-mbstring
     - php7.2-xml
  update_cache: true
  when: ppastable is success

Однако, когда я запускаю playbook, я получаю следующую ошибку:

failed: [172.31.110.103] (item=[u'php7.2-fpm', u'php7.2-gd', u'php7.2-curl', u'php7.2-mysql', u'php7.2-mcrypt', u'php7.2-mbstring', u'php7.2-xml']) => {"changed": false, "item": ["php7.2-fpm", "php7.2-gd", "php7.2-curl", "php7.2-mysql", "php7.2-mcrypt", "php7.2-mbstring", "php7.2-xml"], "msg": "No package matching 'php7.2-mcrypt' is available"}

На сервере, на котором я тестирую это, все пакеты могут быть установлены. Это не проблема. Есть идеи, что происходит?

failed: [172.31.110.103] (item=[u'php7.2-fpm', u'php7.2-gd', u'php7.2-curl', u'php7.2-mysql', u'php7.2-mcrypt', u'php7.2-mbstring', u'php7.2-xml']) => {"changed": false, "item": ["php7.2-fpm", "php7.2-gd", "php7.2-curl", "php7.2-mysql", "php7.2-mcrypt", "php7.2-mbstring", "php7.2-xml"], "msg": "No package matching 'php7.2-mcrypt' is available"}

На сервере, на котором я это тестирую, можно установить все пакеты. Это не проблема. Есть идеи, что происходит?

failed: [172.31.110.103] (item=[u'php7.2-fpm', u'php7.2-gd', u'php7.2-curl', u'php7.2-mysql', u'php7.2-mcrypt', u'php7.2-mbstring', u'php7.2-xml']) => {"changed": false, "item": ["php7.2-fpm", "php7.2-gd", "php7.2-curl", "php7.2-mysql", "php7.2-mcrypt", "php7.2-mbstring", "php7.2-xml"], "msg": "No package matching 'php7.2-mcrypt' is available"}

На сервере, на котором я это тестирую, можно установить все пакеты. Это не проблема. Есть идеи, что происходит? Я использую ansible 2.6.3 в ubuntu 16.04 и пытаюсь установить пакеты также в другой системе с той же ОС.

0
задан 28 August 2018 в 23:05
1 ответ

В полученной вами ошибке в соответствующей части указано:

No package matching 'php7.2-mcrypt' is available

Это связано с тем, что эта функция была удалена из PHP в версии 7.2, поэтому соответствующего пакета Ubuntu / Debian больше нет.

В документах указано:

This feature was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.

Функция по-прежнему доступна как внешний пакет PECL. Но в отличие от Red Hat / Fedora, в котором есть пакет для PECL mcrypt для PHP 7.2, разработчики пакетов Ubuntu / Debian решили не упаковывать его. Вы все еще можете установить его вручную из PECL, если у вас есть старый PHP-код, которому он нужен.

1
ответ дан 4 December 2019 в 15:51

Теги

Похожие вопросы