This article describes how to compile redis and phpredis under Linux. Share it with everyone for your reference, the details are as follows:
1. Preparation
Download software: Download address of this website.
Operating system: CentOS 5.5
redis version: redis-2.6.9
2. Compile and install
tar zxvf redis-2.6.9.tar.gz //解压 cd redis-2.6.9 make //编译
If the following error occurs:
zmalloc.o: In function `zmalloc_used_memory':
/data/redis-2.6.9/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-2.6.9/src'
make: *** [all] Error 2
Solution:
make CFLAGS="-march=i686"
When you see "Hint: To run 'make test' is a good idea ;)" it means the compilation is successful.
make install //安装
Note: In fact, make install is:
cp -p redis-server /usr/local/bin cp -p redis-benchmark /usr/local/bin cp -p redis-cli /usr/local/bin cp -p redis-check-dump /usr/local/bin cp -p redis-check-aof /usr/local/bin
In this way, redis is installed successfully.
The next step is to start Redis. The executable files generated after compilation above are copied to the /usr/local/bin directory. Their functions are:
redis-server: daemon startup program for Redis server
redis-cli: Redis command line operation tool. Of course, you can also use telnet to operate according to its plain text protocol
redis-benchmark: Redis performance testing tool, test the read and write performance of Redis under your system and your configuration
To start the Redis process, you only need to execute this /usr/local/bin/redis-server /path-to/redis.conf
When starting, you must follow the redis configuration file, so that Redis will start smoothly.
3. Problems that may occur when starting redis
Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.
Solution: Modify the configuration file redis.conf and set maxmemory to maxmemory 1024000000 #Allocate 256M memory
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
Workaround: Warning: Overcommitted memory set to 0! In low memory environments, background saves may fail. To fix this, add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and reboot (or run the command 'sysctl vm.overcommit_memory=1' ) for it to take effect.
There is no message when starting, indicating that the startup is successful. You can also use "netstat -tnl" to check whether port 6379 is started.
4. Open and close redis
Redis-server /usr/local/redis-2.6.9/redis.conf is enabled. Note: the redis configuration file needs to be specified
pkill redis-server stop redis
redis-cli shutdown stop redis
5. Parameter information of redis.conf
For information about redis and its parameters, please refer to this site's "Redis Basic Knowledge, Installation, Deployment, and Configuration Notes"
6. Compile phpredis
unzip phpredis-master.zip cd phpredis-master /usr/local/php/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config make && make install
Modify the php.ini file. Load the redis.so module and restart Apache!
Readers who are interested in more PHP related content can check out the special topics of this site: "php curl usage summary", "PHP operation and operator usage summary", "PHP network programming skills summary", "PHP basic syntax introductory tutorial" ", "Summary of PHP office document operation skills (including word, excel, access, ppt)", "Summary of PHP date and time usage", "Introduction to PHP object-oriented programming tutorial", "Summary of PHP string (string) usage" , "Introduction Tutorial on PHP MySQL Database Operation" and "Summary of Common PHP Database Operation Skills"
I hope this article will be helpful to everyone in PHP programming.