When did this suddenly start happening? How might that be significant?
"Unknown on line 0" is used whenever the PHP engine is encountering a problem that's triggered by something for which it can't identify the filename. That might be a server configuration issue, or a compiled PHP library component. Those would be things your host would have to fix.
It might be triggered by using encrypted or encoded PHP scripts / addons. So, if you've added one of those recently then you'll need to sort that problem out with the author you purchased the addon from.
It might not (and quite likely does not) have nothing to with Zen Cart core code at all. If it's caused by files added to your Zen Cart files/folders, either by you or maliciously by an intruder, you can at least check to see whether something unexpected exists by doing a comparison: http://www.zen-cart.com/wiki/index.php/Troubleshoot_-_Diagnosing_Obscure_Issues
And if you do find stuff on your server that you didn't put there or don't expect to see there, then you should really inspect everything thoroughly: http://www.zen-cart.com/wiki/index.php/Recovering_From_Hacks
You may find it necessary to engage your hosting company to determine the actual cause of the error.
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.