Croatia and Slovenia have become the latest countries to impose strict limits on the number of refugees allowed to cross their borders.
The two European Union member states announced that no more than 580 refugees and migrants a day would be allowed to enter their territories.
Officials say Europe is on the brink of a humanitarian emergency, with hundreds of refugees arriving in Greece each day and most unable to travel north.
Greek officials said not one person was allowed to cross Greece’s northern border with Macedonia on Friday, as nearly 5,000 people waited at or near a border crossing.
A Macedonian interior ministry official said the reason for the temporary closure was that Serbia, the next country on the Balkan migration corridor, has stopped letting in migrants from Macedonia.
The official said late on Friday that Serbia had not admitted any migrants or refugees for the past 40 hours. Only 150 were allowed to cross from Greece to Macedonia on Thursday, according to Greek police figures.
Last week Austria imposed a daily limit of 3,200 migrants and said it would accept no more than 80 asylum claims per day.