首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Pecl安装PHP和木偶

如何通过Pecl安装PHP和木偶
EN

Stack Overflow用户
提问于 2014-04-11 21:04:03
回答 2查看 3.6K关注 0票数 1

我正在尝试在木偶上安装PHP,但我不知道该如何做?Pear已经安装好了,当我尝试执行命令来安装PHP时,我会收到一条错误消息。

pecl.pp:

代码语言:javascript
复制
class php::pecl {
    include php
     exec { "pecl install php-apc":
    require => Package["php-pear"]
    }
}

pear.pp:

代码语言:javascript
复制
class php::pear {
  include php

  # upgrade PEAR
  exec { "pear upgrade":
    require => Package["php-pear"]
  }

  # install PHPUnit
  exec { "pear config-set auto_discover 1":
    require => Exec["pear upgrade"]
  }




  # create pear temp directory for channel-add
  file { "/tmp/pear/temp":
    require => Exec["pear config-set auto_discover 1"],
    ensure => "directory",
    owner => "root",
    group => "root",
    mode => 777
  }

  # discover channels
  exec { "pear channel-discover pear.phpunit.de; true":
    require => [File["/tmp/pear/temp"], Exec["pear config-set auto_discover 1"]]
  }

  exec { "pear channel-discover pear.symfony-project.com; true":
    require => [File["/tmp/pear/temp"], Exec["pear config-set auto_discover 1"]]
  }

  exec { "pear channel-discover components.ez.no; true":
    require => [File["/tmp/pear/temp"], Exec["pear config-set auto_discover 1"]]
  }

  # clear cache before install phpunit
  exec { "pear clear-cache":
    require => [Exec["pear channel-discover pear.phpunit.de; true"], Exec["pear channel-discover pear.symfony-project.com; true"], Exec["pear channel-discover components.ez.no; true"]]
  }

  # install phpunit
  exec { "pear install -a -f phpunit/PHPUnit":
    require => Exec["pear clear-cache"]
  }

  # install apc
  exec { "pear install -a -f pear/php-apc":
    require => Exec["pear clear-cache"]
  }


}

php类:

代码语言:javascript
复制
class php {

  # package install list
  $packages = [
    "php5",
    "php5-cli",
    "php5-mysql",
    "php-pear",
    "php5-dev",
    "php5-gd",
    "php5-mcrypt",
    "libapache2-mod-php5",
  ]

  package { $packages:
    ensure => present,
    require => Exec["apt-get update"]
  }
    }

错误消息:

代码语言:javascript
复制
err: /Stage[main]/Php::Pear/Exec[pear install -a -f pear/php-apc]/returns: change from notrun to 0 failed: pear install -a -f pear/php-apc returned 1 instead of one of [0] at /tmp/vagrant-puppet-1/modules-0/php/manifests/pear.pp:52
err: /Stage[main]/Php::Pecl/Exec[pecl install php-apc]/returns: change from notrun to 0 failed: pecl install php-apc returned 1 instead of one of [0] at /tmp/vagrant-puppet-1/modules-0/php/manifests/pecl.pp:5
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-13 07:49:07

原来这个包实际上叫做apc,而不是php-apc!

工作代码:

代码语言:javascript
复制
  exec { "pecl install apc":
    require => Exec["pear clear-cache"]
  }
票数 0
EN

Stack Overflow用户

发布于 2014-04-11 22:51:35

我建议您使用一个经过尝试和信任的木偶模块,它可以为您安装PHP和pecl扩展。

看看下面的木偶模块,它最有帮助。

https://forge.puppetlabs.com/example42/php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23022547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档