php8安装fileinfo扩展失败
报错信息:
In file included from /usr/include/string.h:633,
from /usr/local/php-8.1.0/include/php/main/../main/php_config.h:2210,
from /usr/local/php-8.1.0/include/php/Zend/zend_config.h:1,
from /usr/local/php-8.1.0/include/php/Zend/zend_portability.h:43,
from /usr/local/php-8.1.0/include/php/Zend/zend_types.h:25,
from /usr/local/php-8.1.0/include/php/Zend/zend.h:27,
from /usr/local/php-8.1.0/include/php/main/php.h:31,
from /usr/local/soft/php-8.1.0/ext/fileinfo/libmagic/config.h:1,
from /usr/local/soft/php-8.1.0/ext/fileinfo/libmagic/file.h:36,
from /usr/local/soft/php-8.1.0/ext/fileinfo/libmagic/softmagic.c:32:
/usr/local/soft/php-8.1.0/ext/fileinfo/libmagic/softmagic.c:507:7: error: expected identifier or ‘(’ before ‘extension’
char *strndup(const char *, size_t);
^~~~~~~
/usr/local/soft/php-8.1.0/ext/fileinfo/libmagic/softmagic.c:510:1: error: expected identifier or ‘(’ before ‘extension’
strndup(const char *str, size_t n)
^~~~~~~
make: *** [libmagic/softmagic.lo] 错误 1
解决方案:
./configure --with-php-config=/www/server/php/81/bin/php-config
执行这个命令
sed -i "s#CFLAGS = -g -O2#CFLAGS = -std=c99 -g#g" Makefile
make && make install