这真是一个非常深的坑。
homestead中自带很多版本的php。然而扩展中缺没有phpize,这个东西是php添加扩展需要的东西
本人在laravel中需要用到Redis扩展。这个和laravel的predis是存在区别的。predis相当于一个类包。
而我需要的是PHP的extension。。然后就开始了我的采坑之旅!

废话不说了,上解决方法。
首先:
第一步
我是homestead的Ubuntu系统。
首先重新装下php的环境包,这是为了让phpize出来!因为不知道为什么现在homestead自带的没有

sudo apt install php7.2-dev
1
如果你用的不是php7.2,而是7.1那你就改成sudo apt install php7.1-dev
然后可能会下载不到资源,因为资源本身在国外。你需要修改下载源为国内的镜像源。
点我看怎么修改
安装的时候遇到提示都选择替换。
安装完毕检查/usr/bin会发现这时phpize和它对应的版本。
第二步
安装redis为php添加上redis扩展。
如果权限不够产生问题请自己加上代码sudo!
如:sudo git clone https://github.com/phpredis/phpredis.git

$ git clone https://github.com/phpredis/phpredis.git
$ cd phpredis
$ /usr/bin/phpize7.1 (不同php版本的情况下phpize版本不同)
$ ./configure --with-php-config=/usr/bin/php-config7.1 (这里边也需要根据情况指定php-config的版本,且和phpize的版本保持一致。)
$ make && make install
1
2
3
4
5
安装完毕后为php添加redis扩展。本人这里是php7.2

sudo find / -name redis.so
# 找到编译的 redis.so 文件
php7.2 -i|grep extension_dir
# 找到 php7.2 对应的扩展目录( /usr/lib/php/20170718)
sudo mv /usr/local/src/phpredis/modules/redis.so /usr/lib/php/20170718/redis.so
sudo vim /etc/php/7.2/fpm/conf.d/20-redis.ini
# 20-redis.ini 是新加的,以前是没有的
# 再 20-redis.ini 中添加 extension=redis.so ,保存退出。
# 通常,添加扩展是在 php.ini 中,这里是在 fpm/conf.d 添加。
1
2
3
4
5
6
7
8
9
最后
重启服务

sudo service php7.2-fpm restart
1
看看phpinfo()是不是有redis了
或者
php -m(有时候phpinfo有,这里没有)

主要是phpinfo显示有了redis的扩展就行

最最后
web代码测试一下

$redis = new \Redis(http://www.my516.com);
//连接
$redis->connect('127.0.0.1', 6379);
//检测是否连接成功
echo "Server is running: " . $redis->ping();die;
1
2
3
4
5
如果显示
Server is running: 1
完结撒花~
注:new Redis()的时候要区分好是扩展的Redis还是laravel的predis!

有疑问或者不足请留言,欢迎找茬~
---------------------

Homestead中PHP扩展无phpize难以安装redis扩展的问题及解决办法的更多相关文章

  1. wamp中的mysql服务与原来安装的mysql服务冲突的解决办法

    如果原来机器上已经安装了mysql,在安装wamp之后,打开wamp上的mysql时会打不开,或者会将原来安装的mysql服务关闭.原因是两个mysql共用了3306端口,解决办法是更改其中的一个端口 ...

  2. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

  3. 编译安装PHP7并安装Redis扩展Swoole扩展(未实验)

    用PECL自动安装Redis扩展.Swoole扩展 pecl install redis pecl install swool 编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机 ...

  4. Linux安装redis PHP安装Redis扩展 and基本命令

    一.安装redis 用超级管理员身份运行: $ mkdir /usr/local/redis #redis安装目录 $ cd /usr/local/src #安装包下载目录 $ wget http:/ ...

  5. Linux系统上php-cli安装redis扩展

    下载 假设已经安装了redis-server,现在我们来安装redis扩展. 下载ZIP包: https://github.com/phpredis/phpredis/tree/master . 解压 ...

  6. centos7上安装redis以及PHP安装redis扩展(二)

    PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP. 接下来让我们安装 PH ...

  7. 在Windows下安装redis扩展和memcached扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  8. wamp环境下如何安装redis扩展

    Redis安装 wamp环境安装redis扩展 首先在自己本地项目中phpinfo(); 查看php版本; (php版本是5.5, ts-vcll表示MSVC11 (Visual C++ 2012), ...

  9. Laravel安装redis扩展

    Laravel安装redis扩展 1.使用命令行,执行(当然要先安装composer) composer require predis/predis 2.执行完就安装好了,redis相关配置可以到.e ...

随机推荐

  1. BUUCTF | [CISCN2019 华北赛区 Day2 Web1]Hack World

    id=0 id=1 id=2 id=3 发现结果不一样,尝试 : ">4","=4","<4" : 在自己的环境下验证一下: 爆 ...

  2. Python操作 Memcache

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据 库驱动网站的速 ...

  3. SQL学习记录:函数(二)

    字符串函数 1.获取字符的ASCII码 语法结构: ASCII(espression)    这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左 ...

  4. 实现自己的shell--MIT xv6 shell

    参考代码: #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <fcnt ...

  5. 测开之路三十四:html常用标签

    网页的结构: HTML:超文本标记语言是迄今为止网络上应用最为广泛的语言,也是构成网页文档的主要语言.HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链 ...

  6. DataTable删除行Delete与Remove的问题

    DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...

  7. python网络爬虫实战之快速入门

    本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站的爬虫实战来进行. 我们编写网络爬虫最主要 ...

  8. 洛谷 P1522 牛的旅行 Cow Tours——暴力枚举+最短路

    先上一波题目  https://www.luogu.org/problem/P1522 这道题其实就是给你几个相互独立的连通图 问找一条新的路把其中的两个连通图连接起来后使得新的图中距离最远的两个点之 ...

  9. cookie,seesion学习

    一,为什么需要cookie和session? 1,Web应用程序是使用HTTP协议传输数据的.然而HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的 ...

  10. C#冒泡排序法学习

    一,冒泡排序法理解:就是将一个集合里的数据当前位置和后一位比较,然当前位置大于后一位,则两个位置替换,直到排序完成 using System; using System.Collections.Gen ...