ZAMBOANGA CITY – A cargo ship has run aground on Santa Cruz Island, some three nautical miles from the southern Philippine port city of Zamboanga.