php故障:错误:提领指向不完全类型的指针
报错信息
/opt/php-5.4.5/ext/dom/node.c: 在函数‘dom_canonicalization’中:
/opt/php-5.4.5/ext/dom/node.c:1898:21: 错误:提领指向不完全类型的指针
ret = buf->buffer->use;
^
In file included from /opt/php-5.4.5/main/php.h:38:0,
from /opt/php-5.4.5/ext/dom/node.c:26:
/opt/php-5.4.5/ext/dom/node.c:1900:40: 错误:提领指向不完全类型的指针
RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
^
/opt/php-5.4.5/Zend/zend_API.h:571:20: 附注:in definition of macro ‘ZVAL_STRINGL’
const char *__s=(s); int __l=l; \
^
/opt/php-5.4.5/ext/dom/node.c:1900:5: 附注:in expansion of macro ‘RETVAL_STRINGL’
RETVAL_STRINGL((char *) buf->buffer->content, ret, 1);
解决方法:
# curl -o php-5.x.x.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt
# cd php-5.x.x
# patch -p0 -b < ./php-5.x.x.patch
patching file ext/dom/node.c
patching file
ext/dom/documenttype.c
patching file ext/simplexml/simplexml.c
再次编译即可。