Mac系统MAMP环境下php7安装redis.so拓展

2024-02-23 06:18

本文主要是介绍Mac系统MAMP环境下php7安装redis.so拓展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文参考:http://blog.webfsd.com/post_mac-xi-tongmamp-huan-jing-xiaphp7an-zhuangredisso-ta-zhan.html

首先解决一些安装依赖模块,如下:

brew install autoconf wget

PHP版本使用 7.0.8,大致步骤如下:

  1. 将扩展文件放在扩展的文件夹下
    (本次是将 redis.so 放在/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012下,最后一个文件夹的名字每个人可能不一样)

  2. 修改php.ini 
    即在 php.ini 中添加一行:extension = redis.so

  3. 测试安装情况

安装步骤

下载PHP源代码

首先我们要去下PHP的源码文件,本人使用的 PHP7.0.8 所以下载的 7.0.15 的源码,也就是说只要下载X.X对应的版本号就可以了,最后的 .08 和官网的 .15 虽然不同,但是不影响使用,下载完成解压放到Applications/MAMP/bin/php/php7.0.8/include/ 下(include如果不存在请新建),具体的命令如下:

sudo wget -O php-7.0.15.tar.bz2 http://jp2.php.net/get/php-7.0.15.tar.bz2/from/this/mirror
tar xf php-7.0.15.tar.bz2
mkdir -p /Applications/MAMP/bin/php/php7.0.8/includecp -r /opt/package/php-7.0.15 /Applications/MAMP/bin/php/php7.0.8/include/php // 根据自己解压的路径进行php源代码的拷贝
cd /Applications/MAMP/bin/php/php7.0.8/include/php
./configure

以上步骤操作是为了让下一步编译 redis.so 时,有对应的php头部文件。

下载redis扩展
git clone https://github.com/nicolasff/phpredis
cd phpredis/
git checkout php7
/Applications/MAMP/bin/php/php7.0.8/bin/phpize --with-php-config=/Applications/MAMP/bin/php/php7.0.8/bin/php-config
./configure --with-php-config=/Applications/MAMP/bin/php/php7.0.8/bin/php-config
make && make install

编译成功,这时会在 phpredis/modules 目录下生成了 redis.so 文件。
然后将这个 redis.so 放到 /Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/目录下然后并修改php.ini,如下:

cp /opt/package/phpredis/modules/redis.so /Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/.
修改 php.ini


redis.so 放进去 php.ini也改了重启MAMP之后 phpinfo 没出现 redis 模块,可以通过如上修改方式进行修改即可。

然后重启 MAMP 就可以在 phpinfo 信息中看到 redis 了。

方法二

直接去我的github 下载编译好的redis.so文件放在/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/ 文件夹下,修改php.ini文件增加 extension = redis.so  完事!

github地址:https://github.com/sunnanphp/mamp-redis

参考这里。

测试安装

在 MAMP 环境下编辑一个 .php 文件,测试代码如下:

<?php  $redis = new redis();$redis->connect('127.0.0.1', 6379);$redis->set('site',"webfsd");$result = $redis->get('site');var_dump($result);
?>

正常会输出:
string(6) “webfsd”

ps:小编最近更新了mamp pro4.1  发现这个方法太麻烦了。。so  我们的中心思想就是把redis.so移至php的扩展就可以了嘛。

小编已经把redis.so编译好了 。只需要下载后把redis.so放至/Applications/MAMP/bin/php/php5.x.x/lib/php/extensions/no-debug-non-zts-200xxxxx (Channge 5.x.x to your PHP version)就可以了

资源地址:http://download.csdn.net/download/sun_nan_vip/9896249

如果执行上边的php文件还是不行,就看6379端口开了吗。

redis-server开启redis就可以了。实测。记录下。



如果没有开启会报错。

brew install redis // 安装 redis 程序
redis-server /etc/redis.conf // 启动 redis 服务进程
redis-cli -p 6379 shutdown // 关闭 redis 服务

这篇关于Mac系统MAMP环境下php7安装redis.so拓展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737760

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环