CentOS安装PHP8扩展
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
curl扩展无法安装1
CURL扩展无法安装是一个特例,它存在的问题不太常见
如果是因为curl依赖没有安装的话,执行以下命令即可
yum -y --nogpgcheck install libcurl-devel如果是make过程报以下错误,则看下一步
error: ‘for’ loop initial declarations are only allowed in C99 mode这是因为你的c文件只支持C99编译
make clean phpize ./configure CC=c99 make -j$(nproc) make -j$(nproc) installcurl扩展无法安装2
源码编译解决
# 如果通过方式1未解决则使用此方式 cd ~ yum install libpsl-devel -y wget https://curl.se/download/curl-8.12.1.tar.gz tar -xf curl-8.12.1.tar.gz cd curl-8.12.1 ./configure --prefix=/usr --with-openssl PKG_CONFIG_PATH=/usr/local/curl/lib/pkgconfig ./configure --with-php-config=/usr/local/php8/bin/php-config make -j$(nproc) make -j$(nproc) install
自定义扩展安装问题
- TSRMLS_D、TSRMLS_DC、TSRMLS_C、TSRMLS_CC
# php-7.x/TSRM/TSRM.h # php-8.x/UPGRADING.INTERNALS中提到:TSRMLS_D、TSRMLS_DC、TSRMLS_C、TSRMLS_CC已经被移除了,因此,有些地方的语法要做变动 # 【TSRMLS_D】 修改为 【void ***tsrm_ls】 # 【TSRMLS_C】 修改为 【tsrm_ls】 # 【TSRMLS_DC】 修改为 【, TSRMLS_D】 # 【TSRMLS_CC】 修改为 【, TSRMLS_C】 【TSRMLS_DC】 修改为 【, TSRMLS_D】 → 在PHP8中改为【】(删除即可) 【argc TSRMLS_CC】 修改为 【argc , TSRMLS_C】 → 在PHP8中改为【ZEND_NUM_ARGS()】