我在哪里可以获得php 7的php-mcrypt


Where can I get php-mcrypt for PHP 7?

我已经将PHP升级到PHP 7,现在看到以下错误Use of undefined constant MCRYPT_MODE_ECB。我运行的是centos7,在更新php-mcrypt时遇到问题。

我在Arch Linux上找到了它,但我不熟悉Pacman,并且在设置它时遇到了困难。

编辑:这就是我现在的位置。我试过删除已安装的软件包来安装所需的软件包,但没有这样的运气。

$ sudo yum install php*
Loaded plugins: fastestmirror
Cannot open: php-7.0.2-1.mga6.src.rpm. Skipping.
Examining php70-php-mcrypt-7.0.0-1.el7.remi.x86_64.rpm: php70-php-mcrypt-7.0.0-1.el7.remi.x86_64
Marking php70-php-mcrypt-7.0.0-1.el7.remi.x86_64.rpm to be installed
Examining php70-php-mcrypt-7.0.0-2.el6.remi.x86_64.rpm: php70-php-mcrypt-7.0.0-2.el6.remi.x86_64
Marking php70-php-mcrypt-7.0.0-2.el6.remi.x86_64.rpm to be installed
Loading mirror speeds from cached hostfile
* base: mirror.cs.pitt.edu
* epel: mirror.symnds.com
* extras: ftp.linux.ncsu.edu
* remi: mirrors.mediatemple.net
* remi-php56: mirrors.mediatemple.net
* remi-safe: mirrors.mediatemple.net
* updates: mirror.atlanticmetro.net
No package php-mcrypt-7.0.2-1-x86_64.pkg.tar.xz available.
Resolving Dependencies
--> Running transaction check
---> Package php70-php-mcrypt.x86_64 0:7.0.0-1.el7.remi will be installed
--> Processing Dependency: php70-php-common(x86-64) = 7.0.0-1.el7.remi for package: php70-php-mcrypt-7.0.0-1.el7.remi.x86_64
---> Package php70-php-mcrypt.x86_64 0:7.0.0-2.el6.remi will be installed
--> Processing Dependency: php70-php-common(x86-64) = 7.0.0-2.el6.remi for package: php70-php-mcrypt-7.0.0-2.el6.remi.x86_64
--> Finished Dependency Resolution
Error: Package: php70-php-mcrypt-7.0.0-1.el7.remi.x86_64 (/php70-php-mcrypt-7.0.0-1.el7.remi.x86_64)
Requires: php70-php-common(x86-64) = 7.0.0-1.el7.remi
Installed: php70-php-common-7.0.2-1.el7.remi.x86_64 (@remi)
php70-php-common(x86-64) = 7.0.2-1.el7.remi
Available: php70-php-common-7.0.1-1.el7.remi.x86_64 (remi)
php70-php-common(x86-64) = 7.0.1-1.el7.remi
Error: Package: php70-php-mcrypt-7.0.0-2.el6.remi.x86_64 (/php70-php-mcrypt-7.0.0-2.el6.remi.x86_64)
Requires: php70-php-common(x86-64) = 7.0.0-2.el6.remi
Installed: php70-php-common-7.0.2-1.el7.remi.x86_64 (@remi)
php70-php-common(x86-64) = 7.0.2-1.el7.remi
Available: php70-php-common-7.0.1-1.el7.remi.x86_64 (remi)
php70-php-common(x86-64) = 7.0.1-1.el7.remi
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
sudo yum install php*

这是非常错误的,有数百个php包,显然不是您想要的。

您应该使用单个PHP存储库,并且只安装所需的包(扩展/库)

有关"remi"存储库,请参阅向导:http://rpms.remirepo.net/wizard/

由于您有php70-php-common-7.0.2-1.el7.remi.x86_64,您必须使用完全相同的版本,因此php70-php-mcrypt-7.0.2-1.el7.remi.x86_64(位于"remi-safe"存储库中)。

我希望你已经解决了这个问题,请找到同样的扩展链接。

# rmp -qa | grep php 
php70w-intl
php70w-soap
# yum install php70w-mcrypt

PHP扩展链接:https://webtatic.com/packages/php70/