最近在使用 vagrant 安裝 homestead 后,運(yùn)行代碼時(shí)提示 Redis 對(duì)應(yīng)的 Class 不存在,其實(shí)是缺少對(duì)應(yīng)的 PHP Redis 擴(kuò)展,在安裝的過(guò)程中遇到不少坑,記錄到這篇文章里了
首先通過(guò) vagrant ssh 進(jìn)入 homestead
下載 編譯 PHP Redis 擴(kuò)展
git clone https://github.com/phpredis/phpredis.gitcd phpredis /usr/bin/phpize5.6 (不同php版本的情況phpize版本不同)./configure --with-php-config=/usr/bin/php-config5.6 (這里邊也需要根據(jù)情況指定 php-config 的版本,且和 phpize 的版本保持一致。)make make install
. {note} 編譯完成后,redis的php擴(kuò)展在module目錄中,它的文件名是redis.so*
查看 PHP 的 extension_dir, 方式有多種:
1、一種是安裝完成時(shí)會(huì)有提示擴(kuò)展的安裝目錄,如下圖
2、使用命令 php -i|grep extension_dir
把 redis.so 擴(kuò)展模塊移入 PHP 擴(kuò)展目錄中
sudo mv ./modules/redis.so /usr/lib/php/2013122
添加 PHP 配置文件的 ini 文件
創(chuàng)建一個(gè)文件sudo touch /etc/php/5.6/fpm/conf.d/20-redis.ini使用vi編輯器寫入如下內(nèi)容:extension=redis.s
萬(wàn)事大吉,重啟 php-fpm
sudo service php5.6-fpm restart再次在網(wǎng)頁(yè)中使用phpinfo()時(shí)就會(huì)發(fā)現(xiàn),redis 擴(kuò)展出現(xiàn)了,new Redis()可用了。
就是執(zhí)行 phpize 相關(guān)命令時(shí),提示未找到,homestead 中有 php5.6、php7.0、php7.1、php7.2,基于我使用了 php5.6 才會(huì)出現(xiàn)此情況,需要安裝 php-dev, 使用 sudo apt install php-dev 的時(shí)候提示找不到對(duì)應(yīng)的包,執(zhí)行 apt search php-dev 也找不到,得通過(guò) apt search php5.6-dev 就能獲取到對(duì)應(yīng)的包地址(自己是偶然執(zhí)行 apt search php5 然后才知道對(duì)應(yīng)的包名為 php5.6-dev 的),知道了包名后就是直接使用 sudo apt install 安裝對(duì)應(yīng)的包了
以上就是Homestead安裝php Redis擴(kuò)展的步驟及遇到的問(wèn)題解決的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選