web-dev-qa-db-ja.com

mcryptをデュアルにインストールする方法PHPバージョンCentOS6?

私はこれを介してCentOS6.5にインストールされたPHPの2つの並列バージョンを持っています メソッド

_[root@Host ~]# php -i | grep "PHP Version"
PHP Version => 5.3.3
[root@Host ~]# /opt/rh/php54/root/usr/bin/php -i | grep "PHP Version"
PHP Version => 5.4.16
_

インストールはから来ました

_[root@Host ~]# rpm -q php php-mcrypt
php-5.3.3-27.el6_5.1.x86_64
php-mcrypt-5.3.3-3.el6.x86_64
[root@Host ~]# rpm -q php54 php54-mcrypt
php54-1-7.el6.centos.alt.x86_64
package php54-mcrypt is not installed
[root@Host ~]# rpm -q libmcrypt
libmcrypt-2.5.8-4.el6.art.x86_64
[root@Host ~]# rpm -q libmcrypt-devel
libmcrypt-devel-2.5.8-4.el6.art.x86_64
_

PHP 5.3.3を実行しているサイトでは、mcryptは正常に機能します。5.4.16を実行しているサイトでmcryptを利用できるようにする必要があります。当然_yum install php54-mcrypt_を試しましたが、_No package php54-mcrypt available._。次のリポジトリが有効になっています。

_asl-4.0 
base 
epel 
extras 
scl 
updates 
virtualmin 
virtualmin-universal
_

そこで、RPMを検索して、 これ を見つけました。しかし、このRPMをインストールしようとすると、現在のPHP mcryptが更新されます。これは、5.3.3のサイトで実行し続ける必要があります。php-mcryptという印象を受けます。 phpバージョンと正確である必要があり、下位互換性はありません。

PHP 5.4.16、ここでPHPZTS = ""およびPHPAPI = 20100525のmcryptをインストールする必要があります。これを行うにはどうすればよいですか?

2
Gaia

rpm2cpio を使用して、見つかった唯一の適切な 。rpm ファイルを標準出力のcpioアーカイブに変換しました。

$ rpm2cpio php-mcrypt-5.4.16-1.el6.x86_64.rpm | cpio -idmv

次に、mcrypt.somcrypt.iniをPHP 5.4インストール用の適切なフォルダーにコピーしました。

Voilá、mcryptが動作するようになりました!

2
Gaia

残念ながら、php54のCentOSSCLコレクションにはphp54-mcryptが含まれていません。

Php-mcrypt-5.4のSRPMを取得し、仕様を変更してパッケージ名やインストール場所などを変更できます。その他の場合は、独自のパッケージを作成します(rpmbuildを確認してください)。

または、代わりに rcollet のリポジトリを使用することもできます。

1