On the question of whether to take in Syrian refugees in particular, Boris Johnson said London should "take people fleeing persecution and those plainly in fear for their lives".
"London will of course face up to its moral responsibilities, but we must not become a magnet or pole of attraction for economic migrants,” he added.
It is also time to look harder at what can be done in Syria to solve the problem at source. Of course intervention has not worked in Iraq or Libya. But no one could say that non-intervention was working in Syria.
Johnson's comments came on the same day the Mayor of Liverpool Joe Anderson sought cross-party support for Liverpool to give sanctuary to 100 refugees fleeing the Syria crisis.
If successful, Anderson will seek Home Office support for the necessary resources. He also suggested other local authorities act in a similar fashion.
This week Cameron came under pressure from political parties in the UK, including his own, as well as internationally from officials in Germany, France and the Council of Europe.
Most recently, French President François said some countries “were not shouldering their moral obligations” at a press conference in Paris, as Germany and France agreed to push for binding refugee quotas for EU members.