PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /nginx/html/vendor/phpoffice/phpex

1、PHP Fatal error:  Uncaught Error: Class 'ZipArchive' not found in /nginx/html/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php:94

解决方法:

在文件导出前使用这个,替代phpzip拓展

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

2、在添加以上代码后,服务器可能会出现这样的提示:
PHP Notice:  A non well formed numeric value encountered in /nginx/html/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php on line 1845 

是因为现在PHP的语法检测相对严格了一点,你可以自行修改 pclzip.lib.php 文件第 1837行:

 
  
$v_memory_limit = trim($v_memory_limit);
改为:

$v_memory_limit = intval(trim($v_memory_limit));

3、在使用PHP7环境出现错误:Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PclZip has a deprecated constructor in G:\Project\Workspaces\fbdata\vendor\phpoffice\phpexcel\Classes\PHPExcel\Shared\PCLZip\pclzip.lib.php on line 190

是因为PHP7不再支持与类名相同的构造方法:
把 function PclZip($p_zipname) 改为 function __construct($p_zipname) 即可。

你可能感兴趣的:(PHP)