A sacked security guard who shot one person and took about 30 others hostage at a Manila shopping centre has given up peacefully, according to a live-streamed video, ending a day-long standoff.

The suspect, angered by his dismissal, had opened fire at the shopping centre in the Philippine capital and barricaded the hostages in an office.

Workers and customers were evacuated from the V-Mall shopping centre in Manila early today after gunshots rang out and officers wielding assault rifles rushed to the scene.

The Philippines' malls are centres of life that include everything from restaurants and shops to churches and medical facilities. The building was full when the violence began.

The mayor of the section of Manila that is home to the mall told reporters the "disgruntled" former-guard had a pistol and had claimed to have a grenade, but that had not been confirmed.

San Juan city mayor Francis Zamora said the hostages were held in the mall's administrative offices and at least one person was shot. The victim was rushed to hospital and was in stable condition.

Manila was the site of a high-profile 2010 hostage taking that ended in the deaths of eight tourists from Hong Kong.

That day-long ordeal started when an ex-police officer, armed with an M-16 assault rifle, hijacked a bus near Rizal Park, a popular tourist destination just a few blocks from police headquarters, in a desperate bid to get his job back.

Negotiations broke down after nightfall when the ex-officer began shooting passengers, prompting commandos to throw tear gas inside the bus before storming it and firing dozens of bullets into the vehicle.