【发布时间】:2018-09-11 21:43:49
【问题描述】:
我的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 The PHP Group Zend Engine v3.1.0,版权所有 (c) 1998-2018 Zend Technologies 使用 Xdebug v2.6.0,版权所有 (c) 2002-2018,作者 Derick Rethans 使用 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
当我运行echo phpinfo();时进入php.ini文件
例如
/etc/php/7.1/cli/php.ini
当我运行内置的网络服务器时,我得到了
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/20170718/redis.so' - /usr/lib/php/20170718/redis.so: 未定义符号:第 0 行 Unknown 中的 zend_empty_string
奇怪的是 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 服务器时,出现了 not found 的错误。
【问题讨论】:
标签: php redis ubuntu-14.04 phpredis