我正在尝试在 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
扩展的另一种方法是通过webtatic
repo。
运行以下命令来安装 repo:
sudo rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
使用这个命令来安装扩展:
sudo yum install php55w-process
重要的提示:
正如 @faker 在他的回复中所述,这只有当php-common
(named ) 通过repophp55w-common
安装并依赖于它时才会起作用。webtatic
php55w-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