运行 CentOS + Apache + PHP + MySQL
运行yum list installed *php*
给了我这个:
newrelic-php5-common.noarch 4.23.4.113-1 @newrelic
php.x86_64 5.3.3-46.el6_6 @updates
php-cli.x86_64 5.3.3-46.el6_6 @updates
php-common.x86_64 5.3.3-46.el6_6 @updates
php-devel.x86_64 5.3.3-46.el6_6 @updates
php-gd.x86_64 5.3.3-46.el6_6 @updates
php-mysql.x86_64 5.3.3-46.el6_6 @updates
php-pdo.x86_64 5.3.3-46.el6_6 @updates
php-pear.noarch 1:1.9.4-4.el6 @base
php-pecl-apcu.x86_64 4.0.4-1.el6 @epel
php-pecl-zendopcache.x86_64 7.0.3-1.el6 @epel
php54.x86_64 2.0-1.el6 @centos-sclo-rh
php54-php.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-cli.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-common.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-gd.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-mbstring.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-mysqlnd.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-pdo.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-process.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-php-xml.x86_64 5.4.40-4.el6 @centos-sclo-rh
php54-runtime.x86_64 2.0-1.el6 installed
运行php -v
给了我这个:
PHP 5.4.40 (cli) (built: Aug 30 2016 13:52:21)
运行pecl install imagick
给了我这个:
pecl/imagick requires PHP (version >= 5.4.0), installed version is 5.3.3
背景是我正在通过使用 Imagick 的 apache 运行一个 php 脚本;它可以一直运行,直到我升级 PHP(从 5.3.3 到 5.4.4),它告诉我PHP Fatal error: Class 'Imagick' not found in blah/blah/blah
。
因此,我想摆脱 php 5.3.3,但也想了解正在发生的一切与其他一切之间的荒谬混乱。
因此,更准确地说:我需要做什么才能让 imagick 安装并被 apache + php 5.4.4 使用?
奖励问题:
- 我注意到 php 5.4 二进制文件 (?) 都带有前缀 php54,而 5.3 版本只是“php”。我是否应该删除旧的“php”版本,然后将所有 php54 内容都改为 php?
- 是否存在某种通用的“php”构造来声明系统范围的“我是默认的 php,使用我”?
- 是否
pear
需要pecl
通过 php 5.4 重新安装?