CentOS安装PHP8扩展

  1. 作者QQ:67065435 QQ群:669756510

  2. 本站内容全部为作者原创,转载请注明出处!

curl扩展无法安装1

  1. CURL扩展无法安装是一个特例,它存在的问题不太常见

  2. 如果是因为curl依赖没有安装的话,执行以下命令即可

    yum -y --nogpgcheck install libcurl-devel
    
  3. 如果是make过程报以下错误,则看下一步

    error: ‘for’ loop initial declarations are only allowed in C99 mode
    
  4. 这是因为你的c文件只支持C99编译

    make clean
    phpize
    ./configure  CC=c99
    make -j$(nproc)
    make -j$(nproc) install
    

    curl扩展无法安装2

  5. 源码编译解决

    # 如果通过方式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
    

自定义扩展安装问题

  1. 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()】
    
Copyright © 鲸小鱼 2012-∞ all right reserved,powered by Gitbook修订: 2000-10-10 00:00

results matching ""

    No results matching ""