致命錯誤:ext/standard/php_smart_str.h:沒有那個文件或目錄
參考文章:https://blog.csdn.net/jartins/article/details/80371257。
一、發生背景:
安裝php-redis擴展時,打開php官網下載擴展,選擇了版本redis-2.2.5.tgz。
下載路徑是:https://pecl.php.net/get/redis-2.2.5.tgz。
然后使用make編譯時,報錯:
... ...,致命錯誤:ext/standard/php_smart_str.h:沒有那個文件或目錄 ... 編譯中斷。 make: *** [redis.lo] 錯誤 1
二、原因:
在網上搜索后,得到的說法是:
因為最新的 phpredis 分了幾大分支,針對最新的PHP穩定發行版 php7 有專門為php7的分支,
所以我們從github拉下phpredis 源碼。
三、解決:
(1)然后打開github,搜索phpredis。
點擊搜索結果的第一個:phpredis/phpredis(https://github.com/phpredis/phpredis)
點擊頁面中的releases(https://github.com/phpredis/phpredis/releases)
選擇最新版本4.3.0(https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz)
(2)下載:
wget https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
(3)重命名
(個人習慣:下載后文件叫4.3.0.tar.gz,只有版本沒有名字,重命名一下,phpredis-4.3.0.tar.gz)
mv 4.3.0.tar.gz phpredis-4.3.0.tar.gz
(4)解壓
tar -zxvf phpredis-4.3.0.tar.gz
(5)進入目錄
cd phpredis-4.3.0
(6)使用phpize解壓
phpize
(7)配置
./configure --with-php-config=/usr/local/php7/bin/php-config
(8)編譯
make
(9)安裝
make install
安裝結果:
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/
表示安裝成功!
