我最近在 LAMP 堆栈上安装了 PhpRedis,并为 Ubuntu 12.0.4 默认安装了 PHP 5.3。效果很好。
我随后使用 phpbrew 安装了新的 PHP 5.5 beta 2。现在,当我尝试在 PHP 5.5 上运行我的项目时,出现以下错误:
fatal error :找不到“Redis”类
我尝试将我的 php 5.3 redis.ini 文件复制到 php 5.5 配置并重新启动 Apache:
$ sudo cp /etc/php5/conf.d/redis.ini /opt/phpbrew/php/php-5.5.0beta2/var/db/redis.ini
$ sudo /etc/init.d/apache2 restart
现在我得到一个额外的错误:
警告:PHP Startup: redis: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20121212 These options need to match in Unknown on line 0
同样,PhpRedis 可以与默认的 Ubuntu php 5.3 安装一起正常工作,这是使用 apt-get/APT 完成的。
附加信息:
我曾经按照在线教程安装 RedisPhp:
http://anton.logvinenko.name/en/blog/how-to-install-redis-and-redis-php-client.html
我使用以下命令通过 phpbrew 安装 php 5.5:
https://gist.github.com/fluxsauce/5282006
一如既往,提前致谢!!!
最佳答案
经过反复试验,我解决了这个问题。显然我需要使用 phpize5 而不是 phpize 来编译扩展。 Phpize5 使用 PHP 5.5 使用的更新 API 编译扩展。因为我现在在我的工作站上安装了两个 PHP,所以我还必须指定我正在为哪个版本编译扩展。这是我使用的确切语法:
$ phpize5 ./configure --with-php-config=/opt/phpbrew/php/php-5.5.0beta2/bin/php-config
关于php - 如何使用 PHP 5.5/Ubuntu 12.0.4 配置 PhpRedis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17913732/