【问题标题】:CentOS 7: 'pecl' command not doing anything after installCentOS 7:“pecl”命令在安装后不执行任何操作
【发布时间】:2017-10-19 13:20:15
【问题描述】:

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

即便如此,我还是安装了一堆,然后发出命令pecl install imagick:什么都没有。输出为零。当我运行pecl:什么都没有。如果我查看/usr/bin/pecl,它肯定在那里,但它没有做任何事情或输出任何东西,甚至没有警告。

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

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

【问题讨论】:

  • 你在运行php7吗
  • 不,还是 5.4。
  • 你应该更喜欢包而不是“从源代码构建”,所以,yum install php-pecl-imagick
  • @RemiCollet:感谢您的提示,现在可以使用了!!有趣的是,我在任何在线说明中都没有看到像这样安装它(而且我已经阅读了很多)。你能详细说明一下,为什么这样做更好(只是好奇)?我想请你发表你的答案,所以我可以接受,但pecl 仍然没有做任何事情。我仍然无法弄清楚为什么,因此我最初的问题仍然“未回答”......
  • 从源代码构建...需要大量的“devel”包,这在生产服务器上显然是不需要的,并且使用“binary”包更易于支持,因为每个人都使用相同的扩展。顺便说一句,不知道您最初的问题,因为我无法重现它。

标签: php centos pear imagick pecl


【解决方案1】:

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

open_basedir restriction in effect

我需要在php.ini 文件的open_basedir 设置中包含/usr/share/pear。没有它,PHP 将在后台抛出错误,pecl 将不返回任何内容。

【讨论】:

    【解决方案2】:

    查看 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

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 2021-08-26
      • 2017-06-14
      • 2014-01-23
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      相关资源
      最近更新 更多