日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 加载redise_PHP Redis扩展无法加载的问题解决方法

發布時間:2024/8/23 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 加载redise_PHP Redis扩展无法加载的问题解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在工作中需要使用PHP訪問Redis,從https://github.com/phpredis/phpredis下載了phpredis,并且按照官方的說明進行了安裝

phpize

./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

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

試了網上一些解決方案,均無法解決問題。

實在沒別的辦法,于是打算重裝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 加载redise_PHP Redis扩展无法加载的问题解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。