PHP添加各种模块
文章发布较早,内容可能过时,阅读注意甄别。
模块下载地址:https://pecl.php.net/package/redis
所有的包都可以通过如上地址更改最后一级的文件名称进行查找,当然可能有一些会有特殊情况,下载的时候,注意拉到最下边查看一下版本兼容性,然后下载安装添加即可。编译添加的过程是一致的。
# 1,amqp。
在 php 开发中使用 rabbitmq 消息队列时,需要安装 PHP 扩展 amqp,安装步骤如下。
在执行安装之前需要先安装依赖包,yum -y install librabbitmq librabbitmq-devel
。
# 1,下载 amqp 包。
$ wget https://pecl.php.net/get/amqp-1.9.3.tgz
1
# 2,编译。
tar xf amqp-1.9.3.tgz
cd amqp-1.9.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=amqp.so
EOF
1
2
3
2
3
# 4,重启验证。
重启 php-fpm:
systemctl restart php-fpm
1
此时执行
php -m | grep amqp
1
似乎还看不到刚刚添加的扩展,这是因为刚刚执行命令的时候并没有加载新的 php.ini 文件,所以新增内容不会识别到,可以通过如下命令进行验证:
$ /usr/local/php/bin/php -c /usr/local/php/etc/php.ini -m | grep amqp
amqp
1
2
2
如果想简化上边的操作,可以将配置文件写入到上边的如下展示的目录中:
$ /usr/local/php/bin/php --ini | grep Configuration
Configuration File (php.ini) Path: /usr/local/php/lib
Loaded Configuration File: (none)
$ ln -sf /usr/local/php/etc/php.ini /usr/local/php/lib/
1
2
3
4
2
3
4
然后执行:
$ php -m | grep amqp
amqp
1
2
2
能看到 amqp 扩展,说明 amqp 扩展安装成功,现在可以在 PHP 中使用 rabbitmq 了!
# 2,mcrypt
# 1,安装依赖。
$ yum install epel-release
$ yum install libmcrypt libmcrypt-devel mcrypt mhash
1
2
2
# 2,下载 mcrypt 包。
php 扩展官网 http://pecl.php.net/package/mcrypt
$ wget http://pecl.php.net/get/mcrypt-1.0.1.tgz
$ tar xf mcrypt-1.0.1.tgz
$ cd mcrypt-1.0.1
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
5
2
3
4
5
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=mcrypt.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$ php -m |grep mcrypt
mcrypt
1
2
3
2
3
# 3,mongodb
# 1,下载 mongodb 包。
$ wget https://pecl.php.net/get/mongodb-1.5.5.tgz
1
# 2,编译。
tar xf mongodb-1.5.5.tgz
cd mongodb-1.5.5
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=mongodb.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$ php -m |grep mongodb
mongodb
1
2
3
2
3
# 4,msgpack
# 1,下载包。
$ wget https://pecl.php.net/get/msgpack-2.0.2.tgz
1
# 2,编译。
tar xf msgpack-2.0.2.tgz
cd msgpack-2.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=msgpack.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep msgpack
msgpack
1
2
3
2
3
# 5,pcntl
这个模块经验证,已经可以直接在软件包编译的时候,直接通过 --enable-pcntl
的方式载入的,因此在安装的时候注意此问题即可。
# 1,找到包。
$ cd /usr/local/src/php-7.0.27/ext/pcntl
1
# 2,编译。
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
2
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=pcntl.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep pcntl
pcntl
1
2
3
2
3
# 6,redis
# 1,下载包。
$ wget https://pecl.php.net/get/redis-5.0.2.tgz
1
# 2,编译。
tar xf redis-5.0.2.tgz
cd redis-5.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=redis.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep redis
redis
1
2
3
2
3
# 7,swoole
# 1,下载包。
$ wget https://pecl.php.net/get/swoole-4.3.6.tgz
1
# 2,编译。
tar xf swoole-4.3.6.tgz
cd swoole-4.3.6
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=swoole.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep swoole
swoole
1
2
3
2
3
# 8,yaf
# 1,下载包。
$ wget https://pecl.php.net/get/yaf-3.0.8.tgz
1
# 2,编译。
tar xf yaf-3.0.8.tgz
cd yaf-3.0.8
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=yaf.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep yaf
yaf
1
2
3
2
3
# 9,Zend OPcache
# 1,找到包。
$ cd /usr/local/src/php-7.0.27/ext/opcache
1
# 2,编译。
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
2
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
zend_extension=opcache.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$ php -m|grep "Zend OPcache"
Zend OPcache
Zend OPcache
1
2
3
4
2
3
4
# 10,molten
# 1,下载包。
$ wget https://pecl.php.net/get/Molten-0.1.2beta.tgz
1
# 2,编译。
tar xf yMolten-0.1.2beta.tgz
cd Molten-0.1.2beta
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
1
2
3
4
2
3
4
# 3,添加扩展。
cat >> /usr/local/php/etc/php.ini << EOF
extension=molten.so
EOF
1
2
3
2
3
# 4,重启验证。
$ systemctl restart php-fpm
$php -m |grep molten
molten
1
2
3
2
3
上次更新: 2024/11/28, 21:21:13