mac ampps 安装php redis 扩展
2018-01-15 15:29
567 查看
我在安装php redis 的时候 遇到了一些问题 我是用的是homebrew 方式安装 ampps 使用的 php 版本是 php5.6
下面在终端执行代码
安装完成之后 会提示redis 已经存在在一个ini 文件中 即上面提示的
[也可以使用命令
文件内容大致如下
按照说明 只要在php.ini 配置文件中添加
重启apache 就可以了
如果你按照我上面说的那么做了 在PHP执行的时候会有下面的报错
上面问题出现的根本原因是ZendServer CE 版本 只支持 32位的 ZendServer PRO 版本 可能支持的更多 但是收费,大部分集成软件 都是CE 版本。你可能会问怎么查看到呢?ZendServer 是否32 位的 这个你需要自己研究一下,这个我自己找了没找到 说是在一个zend_server.ini 文件中
我没有找到 但是可以使用另外的方法来变相的验证 必须是32位的
然后
你可以多测试几个 发现都是i386
你可以查看 这个redis.so 是不是32位的
上面说明是64位的所以报错
摘抄自https://www.tumblr.com/search/phpredis
By default, compiling PHP extension on OSX Lion will generate a 64bit binary. However, Zend Server CE only support PHP 32bit. Therefore, I must compile phpredis in 32bit architecture.
所以 我们可以采取另外的方式 即直接编译安装
cp redis.so 到一个目录 这个目录的权限 775 然后在php.ini 文件中添加 extension=redis.so 的路径
重启Apache
检测通过 php -m | grep “redis” 的方式
上面说可以使用homebrew 安装
https://github.com/phpredis/phpredis#installation-on-osx
但是我没有安装完成 anyway 反正是解决了如果有homebrew 的正确方式请方便告知 谢谢
下面在终端执行代码
~$ brew install php56-redis ... ==> Caveats To finish installing redis for PHP 5.6: * /usr/local/etc/php/5.6/conf.d/ext-redis.ini was created, do not forget to remove it upon extension removal. ...
安装完成之后 会提示redis 已经存在在一个ini 文件中 即上面提示的
/usr/local/etc/php/5.6/conf.d/ext-redis.ini文件
[也可以使用命令
brew info php56-redis方式查看已经安装好的一些工具的详情]
文件内容大致如下
[redis] extension="/usr/local/opt/php56-redis/redis.so" ; phpredis can be used to store PHP sessions. ; To do this, uncomment and configure below ;session.save_handler = redis ;session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"
按照说明 只要在php.ini 配置文件中添加
[redis] extension="/usr/local/opt/php56-redis/redis.so"
重启apache 就可以了
BUT!!!!!!
事情并没有那么简单如果你按照我上面说的那么做了 在PHP执行的时候会有下面的报错
dingmac@modern_php$ php -m PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): no suitable image found. Did find: /usr/local/opt/php56-redis/redis.so: mach-o, but wrong architecture in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): no suitable image found. Did find: /usr/local/opt/php56-redis/redis.so: mach-o, but wrong architecture in Unknown on line 0
上面问题出现的根本原因是ZendServer CE 版本 只支持 32位的 ZendServer PRO 版本 可能支持的更多 但是收费,大部分集成软件 都是CE 版本。你可能会问怎么查看到呢?ZendServer 是否32 位的 这个你需要自己研究一下,这个我自己找了没找到 说是在一个zend_server.ini 文件中
dingmac@modern_php$ find /Applications/AMPPS/ -name "*server*" | grep "zend"
我没有找到 但是可以使用另外的方法来变相的验证 必须是32位的
dingmac@modern_php$ find /Applications/AMPPS/ -name "*.so" | grep php-5.6 /Applications/AMPPS//php-5.6/lib/extensions/ext/bcmath.so /Applications/AMPPS//php-5.6/lib/extensions/ext/bz2.so /Applications/AMPPS//php-5.6/lib/extensions/ext/calendar.so /Applications/AMPPS//php-5.6/lib/extensions/ext/ctype.so /Applications/AMPPS//php-5.6/lib/extensions/ext/curl.so
然后
dingmac@modern_php$ file /Applications/AMPPS//php-5.6/lib/extensions/ext/pdo_mysql.so /Applications/AMPPS//php-5.6/lib/extensions/ext/pdo_mysql.so: Mach-O bundle i386 dingmac@modern_php$ file /Applications/AMPPS//php-5.6/lib/extensions/ext/bcmath.so /Applications/AMPPS//php-5.6/lib/extensions/ext/bcmath.so: Mach-O bundle i386
你可以多测试几个 发现都是i386
你可以查看 这个redis.so 是不是32位的
dingmac@modern_php$ file /usr/local/opt/php56-redis/redis.so /usr/local/opt/php56-redis/redis.so: Mach-O 64-bit bundle x86_64
上面说明是64位的所以报错
摘抄自https://www.tumblr.com/search/phpredis
By default, compiling PHP extension on OSX Lion will generate a 64bit binary. However, Zend Server CE only support PHP 32bit. Therefore, I must compile phpredis in 32bit architecture.
所以 我们可以采取另外的方式 即直接编译安装
步骤
git clone git://github.com/nicolasff/phpredis.gitphpize ./configure CFLAGS="-arch i386" make
cd ./modules & file redis.so
cp redis.so 到一个目录 这个目录的权限 775 然后在php.ini 文件中添加 extension=redis.so 的路径
重启Apache
检测通过 php -m | grep “redis” 的方式
补充
在链接 https://github.com/phpredis/phpredis上面说可以使用homebrew 安装
https://github.com/phpredis/phpredis#installation-on-osx
但是我没有安装完成 anyway 反正是解决了如果有homebrew 的正确方式请方便告知 谢谢
相关文章推荐
- mac系统安装php redis扩展
- MAC 下 安装 MAMP的PHP redis扩展
- MAC下PHP7.0+phpredis扩展安装
- mac下安装php-redis扩展
- mac mamp php redis 扩展安装 亲测可用 版本php7
- 在Mac下如何安装phpredis扩展
- MAC 下 安装 MAMP的PHP redis扩展
- 【Real】Mac 环境下安装 Php Redis 扩展
- 总结:mac下使用mamp pro给php7.0以上版本安装redis扩展的坑
- mac 下xampp为php安装redis扩展1.首先mac命令行工具克隆phpredis git clone https://github.com/nicolasff/phpredis
- 在mac上通过brew安装redis以及phpRedis扩展
- mac下安装php-redis扩展
- 在mac上通过brew安装redis以及phpRedis扩展
- Mac系统安装php phpredis扩展
- mac 中安装redis 以及 安装php-redis扩展过程详细记录
- mac下安装php扩展phpredis
- Mac OS X安装redis-php扩展
- mac下安装php-redis扩展
- Mac安装php和redis扩展
- MAC 下 安装 MAMP的PHP redis扩展