這期內容當中小編將會給大家帶來有關無法在PHP中加載Redis擴展如何解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創新互聯公司是一家專注于成都做網站、成都網站建設與策劃設計,建始網站建設哪家好?創新互聯公司做網站,專注于網站建設10余年,網設計領域的專業建站公司;建站業務涵蓋:建始等地區。建始做網站價格咨詢:028-86922220phpize ./configure [--enable-redis-igbinary] make && make install
但是在重啟php-fpm的過程中,發生了如下的錯誤,redis.so無法載入
[root@brand009 modules]# /usr/sbin/php-fpm /usr/sbin/php-fpm: /usr/lib64/libssl.so.10: no version information available (required by /usr/sbin/php-fpm) /usr/sbin/php-fpm: /usr/lib64/libcrypto.so.10: no version information available (required by /usr/sbin/php-fpm) /usr/sbin/php-fpm: /usr/lib64/libcrypto.so.10: no version information available (required by /usr/sbin/php-fpm) [29-Jun-2015 11:14:43] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0 <br /> <b>Warning</b>: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: zend_new_interned_string in <b>Unknown</b> on line <b>0</b><br /> <br />
試了網上一些解決方案,均無法解決問題。
實在沒別的辦法,于是打算重裝php-fpm試試,遂去http://php-fpm.org/download/想下載個新版本的php-fpm,結果發現版本大于5.3.3的PHP內部已經集成了php-fpm,不用再另行安裝了。
于是用php --version查詢了一下PHP的版本,已經是5.6.6了,
php --version PHP 5.6.6 (cli) (built: Mar 9 2015 13:27:38) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
突然恍然大悟,自己一直用的是安裝在另一個目錄的php-fpm,和PHP并不是配套的
查看這個php-fpm的版本,發現是5.3.3
$/usr/sbin/php-fpm -v PHP 5.3.3 (fpm-fcgi) (built: Oct 30 2014 20:14:56) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
而PHP內部集成的php-fpm版本是5.6.6
$ /usr/local/php/sbin/php-fpm -v PHP 5.6.6 (fpm-fcgi) (built: Mar 9 2015 13:27:55) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
用PHP內部集成的php-fpm重啟,成功!
root 18442 1 0 17:36 ? 00:00:01 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 30640 18442 0 18:04 ? 00:00:02 php-fpm: pool www nobody 31156 18442 0 18:05 ? 00:00:02 php-fpm: pool www nobody 32424 18442 0 18:08 ? 00:00:02 php-fpm: pool www
所以粗心害死人啊,以后在安裝程序的時候需要多加小心,盡量顯式的標明軟件的版本,這樣就會少犯這樣的錯誤,少走彎路了。
另外需要注意:
在php.ini中一定要配置extension_dir和extension,如:
extension_dir = "/usr/lib64/php/modules/" extension=redis.so
phpredis編譯出來的redis.so也需要拷貝到"/usr/lib64/php/modules/"中
"/etc/php.d/"中也要軟連接redis.so,并且要創建一個redis.ini文件,內容如下:
$ cat /etc/php.d/redis.ini ; Enable redis extension module extension=redis.so
安裝phpredis還可以通過命令
pecl install redis
php,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。
上述就是小編為大家分享的無法在PHP中加載Redis擴展如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。
當前題目:無法在PHP中加載Redis擴展如何解決-創新互聯
瀏覽路徑:http://m.newbst.com/article2/jjdic.html
成都網站建設公司_創新互聯,為您提供外貿建站、網站收錄、網站制作、動態網站、標簽優化、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯