composer require nelexa/zip:^2.0
$password = 'ChangeMe';
$zipFile = \PhpZip\ZipOutputFile::create();
$zipFile->addFromString('filename.txt', 'Data content');
// установите пароль для нужного алгоритма шифрования
$zipFile->setPassword($password); // для WinZip AES шифрования
// или
$zipFile->setPassword($password, \PhpZip\Model\ZipEntry::ENCRYPTION_METHOD_TRADITIONAL); // для традиционного шифрования
$zipFile->outputAsAttachment('archive.zip');