此前,开发组的一位同学由于项目需要,在MacBook上安装了MAMP开发环境来调试PHP网站项目。 MAMP&MAMPPro软件是一款运行在MAC下非常优秀的网站集成环境软件。 它由Apache+MySQL+PHP+动态DNS配置组成。 PHP版本可以动态切换到最新版本。 它功能强大,配置简单,非常容易本地调试。 。
图:MAMP 设置虚拟主机和网站安装目录。
此前,他想在PHP7版本下安装Redis扩展程序,以配合自己的程序开发。 不幸的是,那位群友多次安装失败后,他来找我,希望能帮他解除面对终端(命令行)抛出的一系列错误信息时的痛苦。 在这个解决过程中,我完成了一个学习,现在我把我发现的问题和需要注意的地方写成一篇文章。
MAC版MAMP环境下安装PHP7.x的redis扩展的过程。
1.首先解决一些安装依赖问题
1.(如果您的Mac笔记本中已经安装了Homebrew包管理器,则可以忽略此步骤。)如果您的Mac笔记本上没有安装Homebrew包管理器,则需要先安装Homebrew包管理器。 ./configure 在上一步中。 安装redis服务器的命令和命令需要brew来安装组件。
打开终端并安装 Homebrew:
/usr/bin/ruby-e"$(curl-fsSL)"
将以上命令粘贴到终端(terminal)中,参考:。
脚本在执行过程中会暂停多次并解释它将做什么; 同时执行时还需要连接网络下载资源,下载速度不会很快(因为是国外网络访问美国站资源),请耐心等待安装即可完全的。
2.(如果您的Mac笔记本中已经安装了configure配置组件,则可以忽略此步骤)使用brew命令安装configure配置组件。
brewinstallautoconfwget
2、下载php-redis扩展组件的安装包
在终端中使用gitclone命令下载php-redis扩展组件的安装包:
吉克隆
其实不用git也没关系。 你可以自己去官网下载:试试。
图:从 GitHub 上的 phpredis 存储库下载该包的开发版本。
下载完成后,系统会手动解压安装包文件。 如果您没有手动解压,请自动解压或使用unzipphpredis.zip命令解压。
解压后使用cd命令进入phpredis目录:
cdphpredis/
注意:如果phpredis/目录的路径不正确,请根据笔记本电脑上的完整路径进行切换,如./phpredis-php7/。
3、使用phpize命令编译生成configure配置文件。
1.phpize命令:
此时终端显示的当前目录为phpredis。 在终端中执行以下命令:
/Applications/MAMP/bin/php/php7.2.1/bin/phpize--with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config
如果出现此错误:
找不到 autoconf。请检查您的 autoconf 安装和 $PHP_AUTOCONF 环境变量。然后php集成环境安装包,重新运行此脚本。
这是因为该命令依赖于autoconf工具,需要安装(参考第一步第2点)。
如果执行成功,会提示如下信息:
图:phpize命令成功执行的截图。
2、这一步需要注意的事项:
这一步需要注意的一个问题是,使用phpize编译命令时,必须使用应用程序MAMP下php7.x的bin目录 /Applications/MAMP/bin/php/php7.2.1/bin/phpize执行 phpize.
由于MAC自带了php环境,所以可以使用MAMP将php配置到命令行中。 此时你使用的php -v 就是MAMP添加到环境变量中的php版本,如果直接使用phpize命令(不指定应用)phpize在php7的bin目录下。 因此,使用phpize命令时一定要注意完整路径。 不过里面的php/php{version}/目录路径可能和我的不一样。 请自行验证并调整。
4.配置、编译、安装phpredis
1.配置phpredis命令。
此时终端显示的当前目录为phpredis。 在终端中执行以下命令:
./configure--with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config
如果执行出错,提示“找不到指定的目录”等信息,也是因为该命令依赖于autoconf工具,需要安装autoconf工具(参考第一步第2点) 。
如果执行成功的话,如下:
图:./configure 命令成功执行的截图。
2、编译安装phpredis命令(make表示编译,makeinstall表示安装)。
制作&&制作安装
安装成功后,会在phpredis/modules目录下生成redis.so文件。 同时,会手动将redis.so复制到/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20171025/目录下(带日期的级别扩展名前面的部分目录可能和我的不一样,请参考你笔记本上的目录)。 如果该目录下不存在redis.so,则可以自动复制phpredis/modules目录下的redis.so。 至此php集成环境安装包,phpredis扩展已经安装成功。
5.修改php.ini
建议在MAMPPro软件中打开php.ini文件并进行更改。 由于在终端中使用vim命令编辑php.ini文件或保存后自动打开并编辑php.ini文件可能不起作用,因此建议在MAMPPro软件中打开php。 ini 文件并更改:
图:在 MAMP 中打开 php.ini。
在php.ini中搜索“extension=”,在前面添加一行:“extension=redis.so”,保存并重启MAMP。
图:更改 php.ini 文件。
6、检查redis组件是否安装成功
创建一个新的 phpinfoTest.php 文件并输入:
保存运行查看是否有redis关键字:
图:phpinfo中的redis信息。
7.测试redis
1、如果你的MAC笔记本上还没有安装redis服务器,可以使用brew来安装redis服务器程序,非常方便:
brewinstallredis//安装redis服务器程序
redis-server/usr/local/etc/redis.conf //启动redis服务器进程
redis-cliping//使用redis-cli命令启动redis客户端通信
如果希望开机自动启动redis服务,可以将redis添加到系统自启动服务中:
启动redis
2、测试redis缓存是否工作
创建一个新的 redisTest.php 文件并输入:
如果上述PHP文件仍然无法执行,请检查6379端口是否打开,或者关闭然后打开redis-server:
redis-cli-p6379shutdown//关闭redis服务
正常情况下会输出:string(11) "helloworld",如图:
图:成功,泪流满面!
结论
至此,在MAC版MAMP环境下安装PHP7.x的redis扩展的实用过程就分享完了,献给有需要的人!