3

我最近在 LAMP 堆栈上安装了 PhpRedis,并为 Ubuntu 12.0.4 安装了默认的 PHP 5.3。效果很好。

我随后使用 phpbrew 安装了新的 PHP 5.5 beta 2。现在,当我尝试在 PHP 5.5 上运行我的项目时,我收到以下错误:

致命错误:找不到类“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 启动:redis:无法初始化模块 使用模块 API=20090626 编译的模块 使用模块 API=20121212 编译的 PHP 这些选项需要在第 0 行的未知中匹配

同样,PhpRedis 可以在默认的 Ubuntu php 5.3 安装中正常工作,这是使用 apt-get/APT 完成的。

附加信息:

我以前是按照网上 tut 安装 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

一如既往,提前谢谢!!!

4

1 回答 1

2

经过多次试验和错误,我解决了这个问题。显然我需要用 phpize5 而不是 phpize 来编译扩展。Phpize5 使用 PHP 5.5 使用的较新 API 编译扩展。由于我现在在我的工作站上安装了两个 PHP,我还必须指定我正在为哪个版本编译扩展。这是我使用的确切语法:

 $ phpize5 ./configure --with-php-config=/opt/phpbrew/php/php-5.5.0beta2/bin/php-config
于 2013-07-30T02:25:29.720 回答