pecl_redis 怎么安装不了
cc -I. -I/tmp/redis-6.3.0 -I/tmp/redis-6.3.0/include -I/tmp/redis-6.3.0/main -I/tmp/redis-6.3.0 -I/usr/local/php-8.3/include/php -I/usr/local/php-8.3/include/php/main -I/usr/local/php-8.3/include/ph
p/TSRM -I/usr/local/php-8.3/include/php/Zend -I/usr/local/php-8.3/include/php/ext -I/usr/local/php-8.3/include/php/ext/date/lib -I/usr/local/php-8.3/include/php/ext -DHAVE_CONFIG_H -g -O2 -D_GNU_SOUR
CE -DZEND_COMPILE_DL_EXT=1 -c /tmp/redis-6.3.0/redis.c -MMD -MF redis.dep -MT redis.lo -fPIC -DPIC -o .libs/redis.o
In file included from /tmp/redis-6.3.0/redis_cluster.h:4:0,
from /tmp/redis-6.3.0/redis.c:27:
/tmp/redis-6.3.0/cluster_library.h:381:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
REDIS_NODISCARD PHP_REDIS_API int cluster_map_keyspace(redisCluster *c);
^
make: * [redis.lo] Error 1
mv: cannot stat '/usr/local/php-8.3/lib/php/extensions/no-debug-non-zts-20230831/redis.so': No such file or directory
从编译错误来看,问题出在 REDIS_NODISCARD 宏与 PHP 8.3 的兼容性上。以下是解决方案:
安装兼容版本
当前 pecl install redis 默认安装的 6.x 版本可能与 PHP 8.3 存在兼容问题。降级安装 5.3.7(稳定兼容版本):
pecl install redis-5.3.7或手动编译最新开发版
从 GitHub 拉取修复了 PHP 8.3 兼容性的代码:
git clone https://github.com/phpredis/phpredis.git
cd phpredis
phpize
./configure
make && make install确认安装后配置
在 php.ini 中启用扩展:
extension=redis.soerror: expected '=', ',', ';', 'asm' or '__attribute__' before 'int' REDIS_NODISCARD 宏。该宏在 PHP 8.3 中可能因属性语法变化失效。运行以下命令检查扩展状态:
php -i | grep redis
应输出类似:
redis
Redis Support => enabled
Redis Version => 5.3.7
注意:若使用手动编译,确保make install后redis.so文件被复制到 PHP 扩展目录(路径见php -i | grep extension_dir)。
AMH面板内安装php7.4和php8都安装不了,是怎么回事?是centos7不支持php高版本么? 服务器配置: U E3-1230 V2 @ 3.30GHz,4核8线程 内存:16G
clarations -std=c++11 -c /tmp/swoole-4.8.6/src/protocol/websocket.cc -fPIC -DPIC -o src/protocol/.libs/websocket.o Assembler messages: Error: can't open /tmp/ccz3gtNM.s for reading: No such file or di
我新的服务器 debian12 安装AMH面板 已经1.5小时 还在安装。是什么原因,我都选择不安装软件。腾讯云2核4G的那种。 源更换 腾讯云的 DNS:114.114.114.114
阿里云ubuntu18.04安装AMH,编译到这个进度就卡死了什么原因?怎么办? [ 71%] Building CXX object libmysqld/CMakeFiles/sql_embedded.dir/__/sql/item_geofunc_buffer.cc.o
AMH的SSL证书怎么弄啊?AMH怎么填写SSL证书啊? AMH的SSL证书怎么弄啊?AMH怎么填写SSL证书啊?
怎么卸载AMH7.1,用什么命令卸载AMH7.1面板,并解除ip的授权 google