图:MAMP 设置一个虚拟主机及网站安装目录。
后面他想在PHP7的版本下面安装Redis的扩展程序,以合营自己的程序开拓。无奈在这位群友屡次安装失落败之后,找到我希望来解脱他在面对 terminal(命令行)抛出的一大串缺点时的痛楚。在这次的办理过程中自己也相称于完成了一次学习,现在就创造的问题和须要把稳的事变写成一篇文章。
在 MAC 版 MAMP 环境下为 PHP7.x 安装 redis 扩展的过程。
一、首先办理一些安装依赖的问题
1、(Mac 电脑中已安装了 Homebrew 包管理器的可忽略此步)如果你的 MAC 电脑未安装有 Homebrew——一个包管理器,须要先安装 Homebrew 包管理器,后面步骤中的 ./configure 命令和安装 redis 做事真个命令等须要 brew 为其安装组件。
打开 terminal,安装 Homebrew:
/usr/bin/ruby -e \"大众$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\公众
将以上命令粘贴至终端(terminal),参考: https://brew.sh/index_zh-cn.html 。
脚本在实行过程中会有多次停息,并解释将它将做什么;同时也会边实行、边须要联网下载资源,下载速率不会很快(由于是海内网络访问国外站点资源),请耐心等待安装完成。
2、(Mac 电脑中已安装了 configure 配置组件的可忽略此步)利用 brew 命令安装 configure 配置组件。
brew install autoconf wget
二、下载 php-redis 扩展组件的安装包在终端中利用 git clone 命令下载 php-redis 扩展组件的安装包:
git clone https://github.com/nicolasff/phpredis.git
当然没有用 git 也没紧要,可以自己去找官网下载:try https://github.com/nicolasff/phpredis.git 。
图:在GitHub的phpredis仓库下载develop版本的包。
下载完成后系统会自动解压安装包文件。如果未自动解压,请手动解压或利用 unzip phpredis.zip 命令解压。
解压后利用 cd 命令进入 phpredis 目录:
cd phpredis/
把稳:phpredis/ 目录的路径如果不对,请按照其在自己电脑上的完全路径来切换,如 ./phpredis-php7/。
三、利用 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
如果涌现此缺点:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
则是由于此命令依赖 autoconf 工具,须要安装 autoconf 工具(参考第一步中的第2点)。
如果实行成功,会提示如下信息:
图:phpize 命令实行成功截图。
2、本步骤须要把稳事变:
在这一步须要把稳的一个问题是,在利用 phpize 编译命令时,一定要利用 /Applications/MAMP/bin/php/php7.2.1/bin/phpize 这个运用程序 MAMP 下的 php7.x 的 bin 目录来实行 phpize。
由于 MAC 自带了 php 环境,可以利用 MAMP 将 php 配到命令行中,这时候你利用的 php -v 是 MAMP 加到环境变量的 php 版本,但是你如果直策应用 phpize 命令(未指定运用程序 MAMP 下的 php7.x 的 bin 目录的 phpize),那么 phpize 编译的将是系统自带的那个 php 环境,以是直策应用 phpize 编译扩展的时候,会编译到系统自带的 PHP 环境下,故而须把稳在利用 phpize 命令时一定要利用的是全路径,而且上面的 php/php{版本}/ 目录路径有可能跟我的不一样,请自行核对并调度 。
四、配置、编译并安装 phpredis1、配置 phpredis 命令。
此时终端显示确当前目录是 phpredis,在终端中实行以下命令:
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.1/bin/php-config
如果实行出错,提示“未找到指定目录”之类的信息,也是由于此命令依赖 autoconf 工具,须要安装 autoconf 工具(参考第一步中的第2点)。
如果实行成功,像这样:
图:./configure 命令实行成功截图。
2、编译与安装 phpredis 命令(make 是编译,make install 是安装)。
make && make install
安装成功后,这时会在 phpredis/modules 目录下天生了 redis.so 文件。同时 redis.so 会自动复制到/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20171025/ 目录下(extensions 后面带日期部分的那一级目录可能会与我的不一样,请以自己电脑上的为准)。如果该目录下不存在 redis.so,可手动将 phpredis/modules 目录下的 redis.so 复制过去。至此,phpredis 扩展已安装成功。
五、修正 php.ini建议在 MAMP Pro 软件中打开 php.ini 文件并修正,由于在终端中利用 vim 命令编辑 php.ini 文件或手动打开编辑 php.ini 文件保存后可能不会起浸染,以是建议在 MAMP Pro 软件中打开 php.ini 文件并修正:
图:MAMP 中打开 php.ini。
在 php.ini 中搜索 \"大众extension=\"大众,在后面添加一行:\公众extension=redis.so\公众,保存后重启 MAMP。
图:修正 php.ini 文件。
六、检讨 redis 组件是否安装成功新建一个 phpinfoTest.php 文件,输入:
<?php phpinfo(); ?>
保存后运行,查看是否有 redis 关键字:
图:phpinfo 中的 redis 信息。
七、测试 redis1、如果你的 MAC 电脑上尚未安装 redis 做事端 ,可用 brew 安装 redis 做事端程序,很方便:
brew install redis //安装 redis 做事端程序
redis-server /usr/local/etc/redis.conf //启动 redis 做事端进程
redis-cli ping //利用 redis-cli 命令启动 redis 客户端通信
如果你想要开机自启动 redis 做事,你可以将 redis 加入到系统的自启动做事中去:
brew services start redis
2、测试 redis 缓存是否起浸染
新建一个 redisTest.php 文件,输入:
<?php
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->set('test',\"大众hello world\"大众);
$result = $redis->get('test');
var_dump($result);
?>
如果实行上边的 php 文件还是不能实行,请看 6379 端口开了吗,或者先关闭再开启 redis-server:
redis-cli -p 6379 shutdown // 关闭 redis 做事
正常情形会输出:string(11) “hello world”,如图:
图:成功,泪崩!
至此,在 MAC 版 MAMP 环境下为 PHP7.x 安装 redis 扩展的实操过程分享完毕,送给有须要的人!