Как включить расширение php с помощью SaltStack

Я использую SaltStack для подготовки своей Vagrant VM. Я установил php в порядке, но мне нужно включить расширение intl. Я почти уверен, что он установлен, но я не могу понять, как мне получить соль, чтобы включить его для меня. Есть ли способ заставить его создать php.ini или что-то в этом роде?

Вот мой файл php55.sls:

php55:
    pkg:
        - installed
        - pkgs:
            - php55
            - php55-apcu
            - php55-mod-php
            - libjpeg-turbo8

и мой топ.sls:

base:
  '*':
    - apache2-mpm-prefork
    - php55
    - mysql

person musoNic80    schedule 20.03.2014    source источник


Ответы (2)


Вот пример того, как я устанавливаю модуль с помощью PECL и включаю его. Последнее состояние — это то, что вам нужно, но я вставлю полный пример, чтобы уточнить.

php-mongo-builddeps:
  pkg.installed:
    - pkgs:
      - php-devel
      - glibc-devel
      - gcc
      - php-phpunit-PHPUnit
      - php-bcmath

mongo-php-reqs:
  pecl.installed:
    - name: mongo
    - require:
      - pkg: php-pkgs
      - pkg: php-mongo-builddeps

php-enable-extension:
  file.managed:
    - name: /etc/php.d/mongo.ini
    - user: root
    - group: root
    - mode: 644
    - contents: 'extension=mongo.so'
    - watch_in:
      - service: httpd
person Diego Woitasen    schedule 23.03.2014
comment
Как мне использовать pecl.installed для установки уже загруженного файла? На случай, если у миньона нет доступа в Интернет. - person Marki; 08.06.2021

Я искал лучшее решение, когда наткнулся на ваш вопрос. Я не думаю, что это идеально, но я предпочитаю включать его для cli вместо управления файлом, как предлагает diegows.

php7.0:
  pkg.installed:
    - pkgs:
      - php7.0-cli

install xdebug:
  pecl.installed:
    - name: xdebug
    - require:
      - pkg: php7.0
  cmd.run:
    - name: phpenmod xdebug
    - require:
      - pecl: install xdebug

пс. для php 5.x используйте php5enmod вместо phpenmod

person PitchBlackCat    schedule 08.04.2016