我的 php -v
PHP 7.1.15-1 + ubuntu14.04.1 + deb.sury.org + 2(cli)(内置:2018年3月6日11:51:39)(NTS)版权所有(c)1997-2018 PHP Group Zend Engine v3. 1.0,版权所有(c)1998-2018 Zend Technologies with Xdebug v2.6.0,Copyright(c)2002-2018,Derick Rethans with Zend OPcache v7.1.15-1 + ubuntu14.04.1 + deb.sury.org + 2,版权所有(c)1999-2018,Zend Technologies
我试过pecl方式
sudo pecl install redis sudo service php7.1-fpm restart
以及来自https://github.com/phpredis/phpredis的手动方式
phpize ./configure [--enable-redis-igbinary] make && make install
我确定放了
extension=/usr/lib/php/20170718/redis.so
进入php.ini文件,如我运行时所示 echo phpinfo();
例如
/etc/php/7.1/cli/php.ini
当我运行内置的Web服务器时,我得到了
PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20170718/redis.so' - /usr/lib/php/20170718/redis.so:未定义符号:zend_empty_string在第0行的未知
奇怪的是,PHPStorm自动填充PHP Redis类,所以
$redis = new \Redis(); $redis->connect('127.0.0.1', 6379);
我可以点击进入Redis类,看它是正确的.
我想知道它是否是版本差异?也许是因为我使用的是32位?
另一个奇怪的事情是,如果我只是把
extension=redis.so
在php.ini
,它似乎在寻找一个较旧的版本
PHP启动:无法加载动态库'/usr/lib/php/20160303/redis.so' - /usr/lib/php/20160303/redis.so:无法打开共享对象文件:未知中的此类文件或目录第0行
我跑的时候
sudo apt-get install php-redis
它安装并意味着没有启动错误显示,但网页仍显示
找不到"Redis"类
我注意到的另一件事是,在Apache中,没有错误,并且找到了类.但是当我运行php的内置Web服务器时,会发现未找到的错误.
您可能需要使用ppa包来安装它,例如:
sudo apt-get install php7.1-redis