Just like with if..endif, the syntax of while..endwhile has changed as well:
Example A-7. Migration: old while..endwhile syntax
while ($more_to_come); ... endwhile;
Example A-8. Migration: new while..endwhile syntax
while ($more_to_come): ... endwhile;
If you use the old while..endwhile syntax in PHP 3.0, you will get a never-ending loop.