In file included from /usr/local/php8/include/php/Zend/zend.h:41:0,
from /usr/local/src/php-8.1.10/ext/mbstring/libmbfl/mbfl/mbfilter.h:88,
from /usr/local/src/php-8.1.10/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c:31:
/usr/local/php8/include/php/Zend/zend_signal.h:44:2: 错误:未知的类型名‘siginfo_t’
siginfo_t *siginfo;
^
In file included from /usr/local/php8/include/php/Zend/zend.h:41:0,
from /usr/local/src/php-8.1.10/ext/mbstring/libmbfl/mbfl/mbfilter.h:88,
from /usr/local/src/php-8.1.10/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c:31:
/usr/local/php8/include/php/Zend/zend_signal.h:95:77: 警告:‘struct sigaction’在形参表内部声明 [默认启用]
ZEND_API void zend_sigaction(int signo, const struct sigaction *act, struct sigaction *oldact);
^
/usr/local/php8/include/php/Zend/zend_signal.h:95:77: 警告:它的作用域仅限于此定义或声明,这可能并不是您想要的 [默认启用]
make: *** [libmbfl/filters/mbfilter_htmlent.lo] 错误 1
Cómo verificar si el compilador de PHP es compatible con la API de procesamiento de señales estándar POSIX
Puede verificar si su compilador PHP es compatible con la API de manejo de señales estándar POSIX ejecutando el comando `php -i` en la línea de comando.
Ingrese el siguiente comando en la línea de comando:
php -i | grep 'System V IPC\|POSIX'
Si la salida contiene `System V IPC => Yes` y `POSIX => Enabled`, significa que el compilador de PHP ya es compatible con System V IPC y la API de procesamiento de señal estándar POSIX. Si no hay salida o la salida no contiene la información anterior, es posible que su compilador no admita estas API.
Además, si está utilizando una distribución de Linux basada en un administrador de paquetes apt como Ubuntu o Debian, puede ejecutar el siguiente comando para verificar si las bibliotecas libsigsegv-dev y libpcre3-dev se han instalado en el sistema:
dpkg -s libsigsegv-dev libpcre3-dev
Si se ha instalado la biblioteca, se mostrará la información relevante; de lo contrario, se le indicará que no se encontró el paquete.
La prueba profesional es factible:
1. Antes de volver a operar, asegúrese de ejecutar
make clean
2.
/usr/local/php8/bin/phpize
./configure --with-php-config=/usr/local/php8/bin/php-config
修改Makefile文件第26行,
vi Makefile
CFLAGS = -std=c99 -g -O2 #试了好几次这个不好使,用下边的-std=gnu99好了
CFLAGS = -std=gnu99 -g -O2
make
make install