我最近用php 7.2和Redis设置了一个新的Centos 7系统。一切正常。这是我的php软件包的安装。
yum install 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
然后我按照以下指示在https://gist.github.com/petronetto/b31838efc4a854d06ba5d1d9f3b9fec5上安装了pthreads,但是在说明中跳过了php 72的yum软件包安装。
现在,当我检查zts-php -i | grep -i thread我得到了错误,但是zts-php否则可以正常工作。
PHP警告:PHP启动:无法加载动态库'/usr/lib64/php/modules/redis.so'(尝试:/usr/lib64/php/modules/redis.so(/ usr / lib64 / php /modules/redis.so:未定义符号: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:无法打开共享对象文件:无此类文件或目录)),位于第0行的未知中
我读到我需要安装 php-igbinary ,但它不能解决问题。
如何解决未定义符号:compiler_globals 的问题?
这类似于询问的以下问题:phprediss extension don't work,unable to load 'redis.so'
答案 0 :(得分:1)
使用pecl将redis从4.2更新到4.3
# pecl install redis