无法在 CentOS 6 上安装 php-posix

无法在 CentOS 6 上安装 php-posix

我正在尝试在 CentOS 6 上安装 php-posix,但没有成功:

$ yum install php-posix

收到以下错误:

Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nluug.nl
 * epel: nl.mirror.eurid.eu
 * extras: ftp.nluug.nl
 * updates: ftp.nluug.nl
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-process.x86_64 0:5.3.3-27.el6_5 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-27.el6_5 for package: php-process-5.3.3-27.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: php-process-5.3.3-27.el6_5.x86_64 (updates)
           Requires: php-common(x86-64) = 5.3.3-27.el6_5
           Installed: php-common-5.4.30-1.el6.remi.x86_64 (@remi)
               php-common(x86-64) = 5.4.30-1.el6.remi
           Available: php-common-5.3.3-26.el6.x86_64 (base)
               php-common(x86-64) = 5.3.3-26.el6
           Available: php-common-5.3.3-27.el6_5.x86_64 (updates)
               php-common(x86-64) = 5.3.3-27.el6_5
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

看起来我需要降级php-common

这真的有必要吗?我该怎么做?

答案1

您已从 remi 存储库安装了 PHP。
现在您还需要从此存储库安装其他软件包,如下所示:

yum install php-posix --enablerepo=remi

答案2

安装posix扩展的另一种方法是通过webtaticrepo。

运行以下命令来安装 repo:

sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm 

使用这个命令来安装扩展:

sudo yum install php55w-process

重要的提示:

正如 @faker 在他的回复中所述,这只有当php-common(named ) 通过repophp55w-common安装并依赖于它时才会起作用。webtaticphp55w-process

如果您需要帮助,请在评论中询问。

答案3

CentOS 6 的说明不适用于 CentOS 7 / RHEL 7 发行版,例如 Amazon Linux 2。看起来扩展包名称也从 PHP 5.x 更改为 PHP 7.x。

安装POSIX 进程控制PHP 7.1 的扩展:

sudo yum install php71-php-process -y

确认扩展已启用并且posix_*()功能可用:

php --ri posix
php -r 'print_r(get_defined_functions());' | grep posix

相关内容