下载php-redis-extension安装包:

定制phpredis扩展rpm安装包

[[email protected] SOURCES]# ls
php-7.1.5.tar.gz redis-3.1.2.tgz
[[email protected] SOURCES]# pwd
/root/rpmbuild/SOURCES

[[email protected] SPECS]# cat php-redis.spec
%global php_extdir %(/usr/local/php7/bin/php-config --extension-dir 2>/dev/null || echo "undefined")

Name: x-php7-redis
Version: 3.1.2
Release: 1%{?dist}
Summary: The phpredis extension provides an API for communicating with the Redis key-value store.

Group: Development/Languages
License: PHP
URL: http://pecl.php.net/package/redis
Source0: redis-%{version}.tgz
BuildRoot: %_topdir/BUILDROOT

Requires: php
BuildRequires: php >= 7.0.0

%description
The phpredis extension provides an API for communicating with the Redis key-value store.

%prep
%setup -q -n redis-%{version}

%build
/usr/local/php7/bin/phpize
%configure
make %{?_smp_mflags}

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{php_extdir}
make install INSTALL_ROOT=%{buildroot}
find %{buildroot} -name redis.so -exec /bin/mv {} %{buildroot}%{php_extdir} \;


#rpm安装后执行的脚本
%post
if [ $1 == 1 ];then
[ -z "`grep '^extension_dir' /usr/local/php7/etc/php.ini`" ] && echo "extension_dir = \"%{php_extdir}\"" >> /usr/local/php7/etc/php.ini
sed -i '[email protected]^extension_dir\(.*\)@extension_dir\1\nextension = "redis.so"@' /usr/local/php7/etc/php.ini
fi

#rpm卸载前执行的脚本
%preun
if [ $1 == 0 ];then
/etc/init.d/php7-fpm stop > /dev/null 2>&1
sed -i '/redis.so/d' /usr/local/php7/etc/php.ini
fi

#%postun rpm卸载后执行的脚本
if [ $1 == 0 ];then
/etc/init.d/php7-fpm start > /dev/null 2>&1
fi

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{php_extdir}/redis.so

%changelog
* Sun May 21 2018 dongyaming <[email protected]> 3.1.2-1
- Initial version

编译rpm包:
[[email protected] SPEC]# rpmbuild -bb php-redis.spec
###制作php-redis rpm二进制包

Processing files: x-php7-redis-debuginfo-3.1.2-1.el6.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/x-php7-redis-3.1.2-1.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/x-php7-redis-debuginfo-3.1.2-1.el6.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.0yzE29

[[email protected] SPECS]# ll /root/rpmbuild/RPMS/x86_64/
total 43148
-rw-r--r-- 1 root root 13249628 May 21 23:38 php-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 30416648 May 21 23:38 php-debuginfo-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 123932 May 22 00:04 redis-3.1.2-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 388456 May 22 00:04 redis-debuginfo-3.1.2-1.el6.x86_64.rpm

[[email protected] x86_64]# ll
total 43148
-rw-r--r-- 1 root root 13249628 May 21 23:38 x-php7-fpm-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 30416648 May 21 23:38 x-php7-fpm-debuginfo-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 123964 May 22 00:15 x-php7-redis-3.1.2-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 388508 May 22 00:15 x-php7-redis-debuginfo-3.1.2-1.el6.x86_64.rpm

[[email protected] SPECS]# ll ../RPMS/x86_64
total 85792
-rw-r--r-- 1 root root 13249628 May 21 23:38 php-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 30416648 May 21 23:38 php-debuginfo-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13249668 May 22 00:32 x-php7-fpm-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 30416688 May 22 00:32 x-php7-fpm-debuginfo-7.1.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 123964 May 22 00:15 x-php7-redis-3.1.2-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 388508 May 22 00:15 x-php7-redis-debuginfo-3.1.2-1.el6.x86_64.rpm

[[email protected] x86_64]# rpm -ivh x-php7-redis-debuginfo-3.1.2-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:x-php7-redis-debuginfo ########################################### [100%]
[[email protected] x86_64]# rpm -ivh x-php7-redis-3.1.2-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:x-php7-redis ########################################### [100%]
===============================================
cat /usr/local/php7/etc/php.ini
; Local Variables:
; tab-width: 4
; End:
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-zts-20160303"
extension = "redis.so"



相关文章:

  • 2021-09-27
  • 2021-08-16
  • 2022-12-23
  • 2021-10-13
  • 2021-11-15
  • 2021-08-29
  • 2021-10-19
  • 2022-12-23
猜你喜欢
  • 2021-12-10
  • 2022-12-23
  • 2021-06-14
  • 2022-02-23
  • 2022-03-03
  • 2021-08-04
  • 2021-07-14
相关资源
相似解决方案