centos PHP 編譯安裝

qiuqiumade發表於2021-03-16

PHP包下載

wget https://www.php.net/distributions/php-7.4.16.tar.gz 

解壓、編譯、安裝、配置

這裡預設已經在我的包下載位置

  1. 解壓tar -zvxf php-7.4.16.tar.gz

  2. 編譯

    1. 先安裝部分擴充套件庫(按需安裝)
    yum install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \
                zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
                curl curl-devel openssl openssl-devel libzip libzip-devel libxml2\
                libxml2-devel
    1. configure 編譯
    ./configure --prefix=/usr/local/php7.4.16 \
                --with-config-file-path=/usr/local/php/etc \
                --enable gd --with-zlib --with-freetype --enable-ftp \
                --enable-mbstring --enable-bcmath  --enable-calendar \
                --enable-pdo --with-pdo-mysql=mysqlnd --enable-phar \ 
                --with-curl --with-openssl --enable-ctype --enable-exif \
                --with-sqlite3 --enable-shmop --with-mhash
                --disable-fileinfo
    
    --prefix                    安裝位置
    --with-config-file-path     配置檔案追蹤位置
    --disable-fileinfo          伺服器記憶體不滿1G
    --with-zlib                 zlib庫支援
    --with-freetype             對freetype字型庫的支援
    --with-bz2                  對bz2檔案格式的支援
    --with-curl                 curl支援 
    --with-openssl
    --with-sqlite3 
    --with-mhash
    --enable-mbstring           支援字元庫操作
    --enable-bcmath             支援數字加減乘除操作
    --enable-calendar           支援日曆
    --enable-ftp                FTP支援
    --enable-pdo                PDO支援
    --enable-ctype
    --enable-exif
    --enable gd                 從PHP7.4開始不再使用--with-gd
    1. 安裝
    make && make install
    1. 配置

      1. 複製配置檔案
      cp php.ini-development /usr/lcoal/php7.4.16/etc/php.ini    # 主配置檔案
      cp /usr/lcoal/php7.4.16/etc/php-fpm.conf.default /usr/lcoal/php7.4.16/etc/php-fpm.conf
      cp /usr/lcoal/php7.4.16/etc/php-fpm.d/www.conf.default /usr/lcoal/php7.4.16/etc/php-fpm.d/www.conf
      1. 使php命令全域性使用
      # 1. 修改/etc/profile檔案,末尾加入如下
      $PATH=$PATH:/usr/local/php7.4.16/bin  # source /etc/profile 立即更新
  3. 問題記錄

    1. 編譯的時候類庫出錯
    * --with-gd  改成 --enable-gd
    * --with-png-dir 引數被移除。需要 libpng 支援。  
    * --with-zlib-dir 引數被移除。需要 zlib 支援。  
    * --with-freetype-dir 改變為 --with-freetype  
    * --with-jpeg-dir 改變為 --with-jpeg  
    * --with-webp-dir 改變為 --with-webp  
    * --with-xpm-dir 改變為 --with-xpm 
    1. 安裝的時候出現 php make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1,因為伺服器的記憶體不足1G,
      所以在編譯時要加上--disable-fileinfo 來解決伺服器記憶體不滿1G
  4. 驗證

php -v
php -m
# 出現版本,擴充套件安裝完成
本作品採用《CC 協議》,轉載必須註明作者和本文連結
別問我八十年代的哪首歌

相關文章