Step 1: Spot the time marker.
The phrase "for the last five years" signals an action that began in the past and continues up to the present moment without stopping.
Step 2: Apply the tense rule.
For actions that started in the past and are still ongoing, English uses the present perfect continuous tense: "have/has been + verb-ing." Simple past, simple present, and present continuous do not capture this ongoing duration.
Step 3: Confirm the answer.
"I have been learning English for the last five years" is grammatically correct. \[ \boxed{\text{have been learning}} \]