[LAMP]php动态扩展模块安装

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

    在php编译完成后,如果想增加一个功能模块,要么重新编译php,要么直接编译一个扩展模块。重新编译php会影响现网中的业务,因此直接编译扩展模块更好些。

1
[root@juispan ~] # /usr/local/php/bin/php -m      ##查看php加载的功能模块

下面演示安装redis扩展模块:

1、下载安装包

1
2
3
4
5
6
7
8
9
10
11
12
[root@juispan ~] # cd /usr/local/src
[root@juispan src] # wget https://codeload.github.com/phpredis/phpredis/zip/develop
--2017-07-22 01:30:22--  https: //codeload .github.com /phpredis/phpredis/zip/develop
正在解析主机 codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121
正在连接 codeload.github.com (codeload.github.com)|192.30.255.120|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:221385 (216K) [application /zip ]
正在保存至: “develop”
 
100%[=====================================================================================================================================================>] 221,385     36.6KB /s  用时 5.9s   
 
2017-07-22 01:30:30 (36.6 KB /s ) - 已保存 “develop” [221385 /221385 ])

2、解压压缩包

1
2
[root@juispan src] # mv develop phpredis-develop.zip
[root@juispan src] # unzip phpredis-develop.zip

3、生成configure文件

1
2
3
4
5
6
7
8
9
10
[root@juispan src] # cd phpredis-develop
[root@juispan phpredis-develop] # /usr/local/php/bin/ph
phar        phar.phar   php         php-cgi     php-config  phpize      
[root@juispan phpredis-develop] # /usr/local/php/bin/phpize 
Configuring  for :
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
Cannot  find  autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

报错,安装autoconf后,再次执行。

1
2
3
4
5
[root@juispan phpredis-develop] # /usr/local/php/bin/phpize 
Configuring  for :
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226

4、加载配置

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@juispan phpredis-develop] # ./configure  --with-php-config=/usr/local/php/bin/php-config
checking  for  grep  that handles long lines and -e...  /usr/bin/grep
checking  for  egrep ...  /usr/bin/grep  -E
checking  for  sed  that does not truncate output...  /usr/bin/sed
checking  for  cc... cc
checking whether the C compiler works...  yes
......
creating libtool
appending configuration tag  "CXX"  to libtool
configure: creating . /config .status
config.status: creating config.h
[root@juispan phpredis-develop] # echo $?
0

5、编译与编译安装

1
2
3
[root@juispan phpredis-develop] # make &&make install
[root@juispan phpredis-develop] # echo $?
0

6、编辑php配置

1
2
3
4
5
6
7
[root@juispan phpredis-develop] # /usr/local/php/bin/php -i | grep extension_dir
extension_dir =>  /usr/local/php/lib/php/extensions/no-debug-zts-20131226  =>  /usr/local/php/lib/php/extensions/no-debug-zts-20131226
sqlite3.extension_dir => no value => no value
[root@juispan phpredis-develop] # ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226
opcache.so  redis.so
[root@juispan phpredis-develop] # vi /usr/local/php/etc/php.ini 
extension = redis.so     ##增加一行

7、检查效果

1
2
[root@juispan phpredis-develop] # /usr/local/php/bin/php -m |grep redis
redis

如果想在php网站使用redis模块,需要重启httpd服务。



















本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1953716,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
PHP 对象存储 Docker
阿里云云效产品使用问题之PHP和LAMP项目部署回滚不生效,该怎么办
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
设计模式 算法 数据库连接
PHP中的设计模式:提高代码的可维护性与扩展性本文旨在探讨PHP中常见的设计模式及其应用,帮助开发者编写出更加灵活、可维护和易于扩展的代码。通过深入浅出的解释和实例演示,我们将了解如何使用设计模式解决实际开发中的问题,并提升代码质量。
在软件开发过程中,设计模式是一套经过验证的解决方案模板,用于处理常见的软件设计问题。PHP作为流行的服务器端脚本语言,也有其特定的设计模式应用。本文将重点介绍几种PHP中常用的设计模式,包括单例模式、工厂模式和策略模式,并通过实际代码示例展示它们的具体用法。同时,我们还将讨论如何在实际项目中合理选择和应用这些设计模式,以提升代码的可维护性和扩展性。
59 4
|
15天前
|
NoSQL 安全 Linux
MongoDB PHP 扩展
10月更文挑战第19天
9 0
MongoDB PHP 扩展
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
3月前
|
安全 前端开发 PHP
PHP与现代Web开发:构建高效和可扩展的应用程序
【8月更文挑战第29天】在这篇文章中,我们将深入探讨PHP如何适应现代Web开发的需求。我们将通过实际案例分析,揭示PHP的核心优势,并展示如何利用这些优势来构建高性能、可扩展的Web应用。文章不仅提供理论知识,还包括具体的代码示例,旨在帮助开发者更好地理解和运用PHP解决实际问题。
|
3月前
|
SQL 关系型数据库 MySQL
PHP与数据库交互的艺术:深入探讨PDO扩展
【8月更文挑战第28天】在数字信息时代的海洋里,PHP作为一艘灵活的帆船,承载着无数网站和应用的梦想。而PDO扩展,则是这艘帆船上不可或缺的导航仪,指引着数据安全与效率的航向。本文将带你领略PHP与数据库交互的艺术,深入浅出地探索PDO的世界,从连接数据库到执行复杂的查询,每一步都清晰可见。我们将一起航行在这段奇妙的旅程上,解锁数据的奥秘,体验编程的乐趣。
45 1
|
3月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
4月前
|
运维 Serverless API
函数计算产品使用问题之如何使用PHP Runtime非内置扩展
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5月前
|
Ubuntu 中间件 Linux
linux php添加扩展zip libzip ZipArchive功能
linux php添加扩展zip libzip ZipArchive功能
175 1
|
5月前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
73 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。