记一次宝塔面板安装PHP禁用fileinfo扩展模块

手上拿到一个PHP项目需要部署,利用宝塔面板进行环境搭建,折腾了许久,写下该文章记录一下

各种开发,都是搭建环境最麻烦,又不太熟悉PHP,借此机会了解

通过宝塔面板安装的PHP,可以通过图形化界面手动安装扩展依赖fileinfo ,图形化各项指标显示都已经安装了,就是在执行composer installl 命令时候提示没有启用fileinfo 。原因找到phpinfo 信息发现如下配置

./configure --prefix=/www/server/php/72 --with-config-file-path=/www/server/php/72/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl=/usr/local/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-webp-dir=/usr --with-mcrypt

中间有一项 --disable-fileinfo

期间百度谷歌了一些同样的情况,给出的解决方案都没有解决:

  1. 宝塔安装时选择编译安装 ,将--enable-fileinfo 添加到自定义模块中,也没有解决,编译安装时还是没有加至结尾覆盖掉该选项

  2. 手动编译安装

    1. 下载对应PHP

      wget https://www.php.net/distributions/php-7.2.34.tar.gz
    2. 解压

      tar -zxvf php-7.2.34.tar.gz
    3. 修改配置参数

      ./configure --prefix=/www/server/php/72 --with-config-file-path=/www/server/php/72/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl=/usr/local/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-fileinfo --enable-opcache --with-webp-dir=/usr --with-mcrypt
    4. 编译

      make
    5. 编译安装

      make install