公司的文檔項(xiàng)目移動到了新的服務(wù)器環(huán)境,今天發(fā)現(xiàn)保存出現(xiàn)問題歧强。根據(jù)日志提示澜薄,發(fā)現(xiàn)提示Fatal error: Uncaught Error: Call to undefined function gzcompress() ,gzcompress()這個方法不完善摊册。
察其原因肤京,是php的zlib擴(kuò)展不完善,導(dǎo)致的方法不可用茅特。那就安裝zlib擴(kuò)展忘分。
1、先在服務(wù)器執(zhí)行安裝zlib-devel:yum install zlib-devel
2白修、找到php的安裝目錄妒峦,如:/opt/php-7.1.16/ext/zlib
查看目錄結(jié)構(gòu):
[root@**** zlib]# ll
total 112
-rw-r--r-- 1 1000 1000 1952 Mar 28 2018 config0.m4
-rw-r--r-- 1 1000 1000 604 Mar 28 2018 config.w32
-rw-r--r-- 1 1000 1000 84 Mar 28 2018 CREDITS
-rw-r--r-- 1 1000 1000 1995 Mar 28 2018 package.xml
-rw-r--r-- 1 1000 1000 939 Mar 28 2018 php_zlib.def
-rw-r--r-- 1 1000 1000 2986 Mar 28 2018 php_zlib.h
drwxr-xr-x 2 1000 1000 12288 Mar 28 2018 tests
-rw-r--r-- 1 1000 1000 46737 Mar 28 2018 zlib.c
-rw-r--r-- 1 1000 1000 13167 Mar 28 2018 zlib_filter.c
-rw-r--r-- 1 1000 1000 5262 Mar 28 2018 zlib_fopen_wrapper.c
-rw-r--r-- 1 1000 1000 331 Mar 28 2018 zlib_win32_howto.txt
將config0.m4文件復(fù)制一份,名稱為config.m4
cp config0.m4 config.m4
在當(dāng)前目錄執(zhí)行執(zhí)行phpize
[root@*** zlib]# phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
在這個目錄就生成了一個configure腳本兵睛。
獲取php-config和zlib.h路徑準(zhǔn)備備用
[root@*** zlib]# find / -name 'php-config'
/usr/local/php/bin/php-config
[root@*** zlib]# find / -name 'zlib.h'
/usr/include/zlib.h
執(zhí)行編譯配置
[root@*** zlib]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-zlib=/usr
編譯完成后執(zhí)行make && make install
順利的話會提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20160303/
打開php.ini
加入:extension=zlib.so
然后將zlib.output_compression和zlib.output_compression_level分別為On和6
zlib.output_compression = On
zlib.output_compression_level = 6
再重啟php肯骇,通過phpinfo(),就可以看到zlib安裝完成祖很。