php - 如何使用 PHP 5.5/Ubuntu 12.0.4 配置 PhpRedis

标签 php redis ubuntu-12.04 phpredis

我最近在 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/

相关文章:

php - MS SQL try catch 在被 php mssql_query 执行时被忽略

laravel Echo 不监听 channel 和事件

spring - 使用 Redis 作为 Spring 缓存管理器以缓存自定义 Java 对象

python - 确保我的程序没有执行并发文件写入

java - 创建新的 Java 项目,java 首选项不可用

django - Mod_wsgi 无法加载 django.core.handlers.wsgi

php - Android 使用 ksoap 调用 PHP SOAP webservice 失败 : 'procedure ' CheckLogin' not found

javascript - js中嵌套json数据-从嵌套数组中获取值

php - 维基私有(private)页面与公共(public)页面

node.js - 每日特定时间自动运行功能