linux - Centos 7 与 PHP 7.2 Pthreads 无法加载 redis.so

标签 linux redis pthreads centos7 php-7.2

我最近使用 php 7.2 和 Redis 安装了一个新的 Centos 7 系统。这工作正常。这是我 yum 安装的 php 包。

yum 安装 php72.x86_64 php72-php-cli.x86_64 php72-php-common.x86_64 php72-php-devel.x86_64 php72-php-fpm.x86_64 php72-php-gd.x86_64 php72-php-json.x86_64 php72-php-mbstring.x86_64 php72-php-mysqlnd.x86_64 php72-php-pdo.x86_64 php72-php-pecl-http.x86_64 php72-php-pecl-http-devel.x86_64 php72-php-pecl-igbinary.x86_64 php72-php-pecl-memcached.x86_64 php72-php-pecl-msgpack.x86_64 php72-php-pecl-propro.x86_64 php72-php-pecl-raphf.x86_64 php72-php-xml.x86_64 php72-php-xmlrpc.x86_64 php72-runtime.x86_64 php72-php-pecl-redis.x86_64 php php-devel

然后我按照以下说明安装了 pthreads:https://gist.github.com/petronetto/b31838efc4a854d06ba5d1d9f3b9fec5但是我在说明中跳过了 php 72 的 yum 包安装。

现在当我检查 zts-php -i | grep -i thread 我得到错误,但 zts-php 否则工作正常。

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: compiler_globals), /usr/lib64/php-zts/modules//usr/lib64/php/modules/redis.so.so (/usr/lib64/php-zts/modules//usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

我读到我需要安装 php-igbinary,我确实这样做了,但这并没有解决问题。

如何解决undefined symbol: compiler_globals问题?

这类似于以下问题:phprediss extension don't work,unable to load 'redis.so'

最佳答案

使用 pecl 将 redis 从 4.2 更新到 4.3

# pecl install redis

关于linux - Centos 7 与 PHP 7.2 Pthreads 无法加载 redis.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51082638/

相关文章:

python - 为什么要使用 Flask 的 Redis 扩展?

redis - zookeeper 的 Curator 框架 - Interprocess mutex 每次需要 50ms 来获取锁

c - `pthread_mutex_trylock` 和 `pthread_mutex_lock` 行为

redis - Sensu检查结果历史记录

c++ - QT:如何同时打开多个窗口(QWidgets)?

c - 在 C 中使用线程的斐波那契数列

java - android 使用 java vs linux

android - Android 和 Linux (RPi) 之间的蓝牙连接在第一次写入操作时丢失

c - utf-8 字符串的最佳哈希是什么

linux - 扭矩嵌套/连续 qsub 调用