Using two direct objects with one verb is not recommended; I'm not sure if it's technically ungrammatical, or just strongly unpreferred, but in either case it's best to avoid sentences like *"Ŝi instruis lin la francan".
The other two options are both acceptable, and I have seen both used frequently. Either the student or the subject taught can be the object of instrui, and the other, if mentioned, is introduced by the suitable preposition, I can instrui ion al iu or instrui iun pri io. There may be a difference of nuance: if I instrui al li la francan that implies that I'm teaching him to speak and understand French, that French is added to his knowledge. Whereas if I instrui lin pri la franca, then perhaps I'm just teaching him about its grammar and vocabulary, or perhaps its history and literature, but not necessarily to speak and understand it. (instrui al li pri la franca has essentially the same meaning).
If only one object is mentioned, then of course context and feasibility determine the meaning. But of course one can imagine an interchange like "Mi instruas la anglan." "Bone, la angla ja bezonas ion lerni!" But obviously that's a joke, not an actual misunderstanding.