PHP包下載
wget https://www.php.net/distributions/php-7.4.16.tar.gz
解壓、編譯、安裝、配置
這裡預設已經在我的包下載位置
解壓
tar -zvxf php-7.4.16.tar.gz
編譯
- 先安裝部分擴充套件庫(按需安裝)
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
- 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
- 安裝
make && make install
配置
- 複製配置檔案
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
- 使php命令全域性使用
# 1. 修改/etc/profile檔案,末尾加入如下 $PATH=$PATH:/usr/local/php7.4.16/bin # source /etc/profile 立即更新
問題記錄
- 編譯的時候類庫出錯
* --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
- 安裝的時候出現
php make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
,因為伺服器的記憶體不足1G,
所以在編譯時要加上--disable-fileinfo
來解決伺服器記憶體不滿1G
驗證
php -v
php -m
# 出現版本,擴充套件安裝完成
本作品採用《CC 協議》,轉載必須註明作者和本文連結