My php script running on CentOS 5.6 and PHP 5.2.12 using ZipArchive() and successfully creates .zip files over 1.6Gb but not for a larger archive of 2GB or larger - PHP abor
there is a setting in php.ini maximum execution time perhaps this is getting fired ! try to increase the value !
There is also different file size limit for OS, try to check that too !