Artikel ini akan menunjukkan cara-cara pemasangan dan konfigurasi redis di dalam PHP 7.2 bagi CentOS 7.
Artikel ini menjangkakan anda telah mengkonfigurasi repository kepada repositori remi. Anda juga telah membuat pemasangan PHP 7.2. Anda juga telah membuat pemasangan redis dengan jayanya di server lain.
Artikel ini ditulis disebabkan aku menghadapi masalah dalam menggunakan redis di dalam PHP 7.2.
1. Pasang redis ke dalam sistem pengoperasian CentOS 7 dengan cara
$ yum install php72*redis
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
php72-php-pecl-redis x86_64 3.1.6-1.el7.remi remi 156 k
php72-php-phpiredis x86_64 1.0.0-3.el7.remi remi 16 k
Installing for dependencies:
hiredis-last x86_64 0.13.3-1.el7.remi remi 30 k
php72-php-pecl-igbinary x86_64 2.0.8-1.el7.remi remi 66 k
Transaction Summary
====================================================================================================
Install 2 Packages (+2 Dependent packages)
Total download size: 268 k
Installed size: 817 k
Is this ok [y/d/N]:y
Downloading packages:
(1/4): php72-php-phpiredis-1.0.0-3.el7.remi.x86_64.rpm | 16 kB 00:00:01
(2/4): hiredis-last-0.13.3-1.el7.remi.x86_64.rpm | 30 kB 00:00:01
(3/4): php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64.rpm | 156 kB 00:00:02
(4/4): php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64.rpm | 66 kB 00:00:02
----------------------------------------------------------------------------------------------------
Total 115 kB/s | 268 kB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : hiredis-last-0.13.3-1.el7.remi.x86_64 1/4
Installing : php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64 2/4
Installing : php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64 3/4
Installing : php72-php-phpiredis-1.0.0-3.el7.remi.x86_64 4/4
Verifying : php72-php-phpiredis-1.0.0-3.el7.remi.x86_64 1/4
Verifying : php72-php-pecl-redis-3.1.6-1.el7.remi.x86_64 2/4
Verifying : php72-php-pecl-igbinary-2.0.8-1.el7.remi.x86_64 3/4
Verifying : hiredis-last-0.13.3-1.el7.remi.x86_64 4/4
Installed:
php72-php-pecl-redis.x86_64 0:3.1.6-1.el7.remi php72-php-phpiredis.x86_64 0:1.0.0-3.el7.remi
Dependency Installed:
hiredis-last.x86_64 0:0.13.3-1.el7.remi php72-php-pecl-igbinary.x86_64 0:2.0.8-1.el7.remi
Complete!
2. Pakej remi di dalam CentOS secara default akan diletakkan di dalam /opt/remi/php72. Ada dua cara bagi anda menggunakan module php72. Pertama adalah dengan meletakkan command yang ada di dalam /opt/remi/php72/enable ke dalam /etc/bash_profile. Kedua adalah dengan menyalin module .so dari /opt/remi/php72/root/usr/lib64/php/modules/ ke /usr/lib64/php/modules. Aku membuat cara kedua.
$ cp *redis.so igbinary.so /usr/lib64/php/modules
3. Pergi ke /usr/lib64/php/modules
$ cd /usr/lib64/php/modules
$ ls
Anda akan melihat redis.so dan igbinary.so dipindahkan.
3. Cipta fail redis.ini di dalam /etc/php.d/
$ vi /etc/php.d/redis.ini
Masukkan entry ini
extension=igbinary.so
extension=phpiredis.so
extension=redis.so
Pasti igbinary.so berada di atas sekali. Hal ini kerana modul ini akan digunakan oleh redis.so. Ianya perlu diload terlebih dahulu oleh php.
4. Restart daemon php. Jika anda menggunakan daemon php yang diintegrasi bersama Apache HTTPD, restart httpd. Jika anda menggunakan daemon php-fpm, restart php-fpm
Jika anda menggunakan php di dalam apache httpd
$ systemctl reload httpd
atau
$ systemctl stop httpd
$ systemctl start httpd
Jika anda menggunakan php-fpm
$ systemctl reload php-fpm
atau
$ systemctl stop php-fpm
$ systemctl start php-fpm
5. Cuba redis server anda dengan melaksanakan fail arahan ini (namakan sebagai redisConn.php)
$ vi /var/www/html/redisConn.php
try {
//Connecting to Redis server on localhost
$redis = new Redis();
echo "Test connect to Redis server ip.server.redis:6379";
$redis->connect('ip.server.redis', 6379);
echo "
Connection to server sucessfully";
//check whether server is running or not
echo "
Test Ping Connection";
echo "
Server is running: ".$redis->ping();
} catch (Exception $ex) {
echo "
" . $ex->getMessage();
}
?>
6. Laksanakan arahan sama ada menggunakan php-cli atau menggunakan web. Output seperti di bawah mungkin anda perolehi.
Test connect to Redis server 10.2.10.107:6379
Connection to server sucessfully
Test Ping Connection
Redis server went away
No comments:
Post a Comment