php 5.2.14 安装

php 5.2.14 安装

我正在使用 Puppet 在 Ubuntu 上安装 PHP 5.2(目的是使用 Puppet 和 Drush 安装 Drupal),但它安装的软件包都是 PHP 5.3。我找到了手动安装 PHP 5.2 的说明:

http://2bits.com/drupal-planet/various-ways-running-php-52-ubuntu-1004-lucid-lynx.html(方法 3)

但这不符合 Puppet 的模型。有没有人找到更好的方法来使用 Puppet 安装 PHP 5.2(用于 Drupal 6)?

答案1

package { "drupal6": ensure => present }

看起来 Drupal 6 已经适用于 Ubuntu 10。这比自己从源代码安装 PHP 要好。我猜他们已经修补了 Drupal 6 在 PHP 5.3 上的小问题。

通过查看依赖项,我将决定是否需要 mysql 或 postgresql,然后执行以下操作之一:

package {
  "php5-mysql":
    ensure  => present;
  "mysql-client":
    ensure  => present;
  "drupal6":
    ensure  => present,
    require => [
      Package["php5-mysql"],
      Package["mysql-client"]
    ];
}

或者:

package {
  "php5-pgsql":
    ensure  => present;
  "postgresql-client":
    ensure  => present;
  "drupal6":
    ensure  => present,
    require => [
      Package["php5-pgsql"],
      Package["postgresql-client"]
    ];
}

否则,“或”依赖项可能会引入错误的数据库库内容。当然,您可能还需要适当的数据库服务器内容、附加的 php5 组件和各种 drupal 模块……

答案2

php 5.2.14 安装

class php {

    $php = "installed"

    $phpoptions = "'--with-apxs2=/usr/local/apache2/bin/apxs' '--prefix=/usr/local/php' '--with-curl' '--enable-exif' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-xpm-dir=/usr/lib' '--with-gettext' '--with-iconv' '--with-mysql=/usr/lib' '--with-openssl' '--with-pear' '--with-ttf' '--with-freetype-dir=/usr/lib' '--enable-gd-native-ttf' '--with-xmlrpc' '--with-zlib' '--enable-maintainer-zts' '--enable-mbstring' '--enable-sockets' '--enable-pcntl'"

    $packagelist = [ "libjpeg-dev", "libcurl4-gnutls-dev", "libfreetype6-dev", "libxpm-dev", "libpng12-dev" ]

    package { $packagelist:
            ensure => present }

    exec { "php-install":
            cwd => "/home/chris/downloads",
            user => "root",
            path => "/bin:/usr/bin",
            command => "/usr/bin/wget http://museum.php.net/php5/php-5.2.14.tar.gz && /bin/tar -xzvf php-5.2.14.tar.gz && cd php-5.2.14 && ./configure $phpoptions && make && make install && touch /tmp/php.txt",
            creates => "/tmp/php.txt"
    }
}

相关内容