首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何判断哪些外部模块必须安装到PHP中才能在另一台计算机上复制配置?

问我如何判断哪些外部模块必须安装到PHP中才能在另一台计算机上复制配置?
EN

Stack Overflow用户
提问于 2014-07-15 05:00:18
回答 1查看 263关注 0票数 0

我很容易就能做到

代码语言:javascript
复制
php -m

来查看PHP加载的模块列表,但它们中的大多数都会自动包含在基本安装中。

我需要看到的是新系统上使用的和不存在的包,以便使其配置与现有系统保持一致。

例如,date在列表中向PHP显示了一个模块,但是不需要安装和配置php-date包来使用日期函数。

相反,mysql会出现在列表中,但默认情况下不会出现,所以我需要安装php-mysql包。其他一些方法,比如xml,首先还需要libxml。我需要默认情况下不提供的PHP模块列表(在任意配置的机器上)。

这只与问题的一部分相关,但我正在尝试用thias/php module at Puppetforge自动化PHP的配置。

有没有什么方法可以可靠、快速、理想地通过编程来确定这一点?

EN

回答 1

Stack Overflow用户

发布于 2014-07-18 00:10:57

这是一个手动创建的列表,方法是为配置中的每个模块运行yum whatprovides php-$MODULENAME,然后捕获提供该模块的包……

代码语言:javascript
复制
# root@dev$ php -m
# 'bz2',         # php-common
# 'calendar',    # php-common
# 'Core',        # php-common
# 'ctype',       # php-common
# 'curl',        # php-common
# 'date',        # php-common
# 'dom',         # php-xml
# 'ereg',        # php-common
# 'exif',        # php-common
# 'fileinfo',    # php-common
# 'filter',      # php-common
# 'ftp',         # php-common
  'gd',          # php-gd needs install
# 'gettext',     # php-common
# 'gmp',         # php-common
# 'hash',        # php-common
# 'iconv',       # php-common
# 'json',        # php-common
# 'libxml',      # php-common
  'memcache',    # php-pecl-memcache needs install
  'mysql',       # php-mysql needs install
# 'mysqli',      # php-mysql
# 'openssl',     # php-common
# 'pcntl',       # php-cli
# 'pcre',        # php-common
  'PDO',         # says php-pdo but in common as of 5.3
# 'pdo_mysql',   # php-mysql
# 'pdo_sqlite',  # php-pdo
# 'Phar',        # php-common
  'pspell',      # php-pspell needs install
# 'readline',    # php-cli
# 'Reflection',  # php-common
# 'session',     # php-common
# 'shmop',       # php-common
# 'SimpleXML',   # php-common
  'snmp',        # php-snmp
# 'sockets',     # php-common
# 'SPL',         # php-common
# 'sqlite3',     # php-pdo
# 'standard',    # php-common
# 'tokenizer',   # php-common
# 'wddx',        # php-xml
  'xml',         # php-xml needs install
# 'xmlreader',   # php-xml
  'xmlrpc',      # php-xmlrpc needs install
# 'xmlwriter',   # php-xml
# 'xsl',         # php-xml
# 'zip',         # php-common
# 'zlib'         # php-common

我最终在params.pp中得到了这个

代码语言:javascript
复制
$php_modules        = ['gd','mysql','pspell','snmp','xml','xmlrpc']

还有这个在我的php.pp档案里。

代码语言:javascript
复制
package { 'php-pecl-memcached':
    ensure => installed,
}

php::module { $php_modules : }

我并没有以编程的方式来做这件事。希望这个列表能为将来的人节省一些时间--它花了一段时间才把它做对!

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

https://stackoverflow.com/questions/24745888

复制
相关文章

相似问题

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