本文實例講述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解決方法。分享給大家供大家參考。具體如下:
ZipArchive是php自帶的一個壓縮與解壓縮函數了,今天理所當然的情況中使用new ZipArchive來創建zip文件時碰到提示Fatal error: Class ZipArchive not found in錯誤,感興趣的朋友就一起來看看解決方法。
測試代碼如下:
復制代碼 代碼如下://PHP解壓縮文件(zip)
function unzip_file($file, $destination){
$zip = new ZipArchive() ;
//打開壓縮文件
if ($zip->open($file) !== TRUE) {
die ('Could not open archive');
}
//創建文件
$zip->extractTo($destination);
$zip->close();
echo '成功';
}
unzip_file("htdocs.zip","wenjianming");
執行時發現
Fatal error: Class 'ZipArchive' not found in E:wwwqqdown.php on line 63
看這個不是未定義了,所以小編百度搜索一下,如下如下解說
在Windows下的解決辦法是:
1、在php.ini文件中,將extension=php_zip.dll前面的分號“;”去除;
重啟Apache服務器,我們再試發現可以了
補充:
如果是linux系統參考下面方法
在Linux下沒有php_zip.dll這個文件
需要重新編譯一下php的zip模塊。具體安裝方法如下:
復制代碼 代碼如下:cd /usr/src
wget http://pecl.php.net/get/zip
tar -zxvf zip
cd zip-1.x.x
phpize
./configure
make
sudo make install
其中, 在最後使用make install命令的時候,可能需要用到root的權限,所以建議使用sudo來運行。安裝完之後,屏幕上會提示zip.so的位置。然後將其記錄下來,如:/usr/local/lib/php/extensions/zip.so。
2、使用root權限修改php.ini(通常可能會在/usr/local/lib/文件夾下,不過視當初安裝php而定,可以通過phpinfo()來查看):
增加extension = /usr/local/lib/php/extensions/zip.so,然後同樣在php.ini文件中,將 zlib.output_compression = Off 改為 zlib.output_compression = On ;
3、最後別忘了重啟一下Apache:apachectl restart;
注意:關於網站有一些朋友說zlib.output_compression = Off 改為 zlib.output_compression = On ; 我在windows下沒有操作在php.ini文件中也沒有看到但這樣確實是可以生成或解壓文件。
希望本文所述對大家的PHP程序設計有所幫助。