CentOS 7:'pecl' 安装后命令不执行任何操作

CentOS 7: 'pecl' command not doing anything after install

我正在尝试安装 Imagick(ImageMagick PHP 扩展),所以我按照说明进行操作,他们都说您需要 PECL,因此应该安装 PHP PEAR - yum install php-pear - 还有一些其他的东西,比如 php-develgcc,虽然不是所有的说明都提到它们,所以我想这些是可选的。

即便如此,我还是安装了一堆,然后发出命令pecl install imagick:nothing。输出为零。当我运行pecl:没什么。如果我查找 /usr/bin/pecl 它肯定存在,但它不执行或输出任何内容,甚至没有警告。

我读过关于 pecl 响应警告的帖子,或者 CentOS 说它丢失了,但我的似乎存在并且没有给出警告,那么我可以尝试什么?为什么 PECL 什么都不做?

我尝试重启 Apache en 甚至重启系统,并从另一个 repo (remi) 获取安装,但没有效果...

好的,答案在 PHP 错误日志中,该日志保存在自定义(即非默认)位置,所以我不得不去寻找它。

open_basedir restriction in effect

我需要在 php.ini 文件的 open_basedir 设置中包含 /usr/share/pear。没有它,PHP 将在后台抛出错误,而 pecl 将 return 什么也不会。

查看 PHP 错误日志,我在那里发现了我的问题。

我需要将这些添加到 php.ini 中的 open_basedir 指令中:

open_basedir = /usr/local/lib/php/:/tmp/:/sbin/:/bin/:/usr/sbin/:/usr/bin/:/root/:/usr/local/etc/

我还需要启用我禁用的这些 php 功能:

ini_get, ini_set, php_uname, popen, chmod, pclose, exec