如何使用SaltStack启用php扩展

时间:2014-03-20 19:15:37

标签: php vagrant salt-stack

我正在使用SaltStack配置我的Vagrant VM。我已经安装了php,但我需要启用intl扩展。我很确定它已经安装但我无法弄清楚如何为我启用它来获取盐。有没有办法让我创建一个php.ini或类似的东西?

这是我的php55.sls文件:

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

和我的top.sls:

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

当我偶然发现你的问题时,我正在谷歌搜索更好的解决方案。我不认为它是完美的,但我更喜欢按照cli管理文件来启用它,就像硬币所暗示的那样。

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

PS。对于php 5.x,请使用php5enmod,而不是phpenmod