這真是一個很是深的坑。
homestead中自帶不少版本的php。然而擴展中缺沒有phpize,這個東西是php添加擴展須要的東西
本人在laravel中須要用到Redis擴展。這個和laravel的predis是存在區別的。predis至關於一個類包。
而我須要的是PHP的extension。。而後就開始了個人採坑之旅!php
廢話不說了,上解決方法。
首先:
第一步
我是homestead的Ubuntu系統。
首先從新裝下php的環境包,這是爲了讓phpize出來!由於不知道爲何如今homestead自帶的沒有laravel
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.gitgit
$ 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.2github
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
最後
重啓服務web
sudo service php7.2-fpm restart
1
看看phpinfo()是否是有redis了
或者
php -m(有時候phpinfo有,這裏沒有)redis
主要是phpinfo顯示有了redis的擴展就行vim
最最後
web代碼測試一下php7
$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!測試
有疑問或者不足請留言,歡迎找茬~
---------------------
rest