Ribery out, Lahm in for Bayern

Ribery has been out of action since Bayern beat Shakthar Donetsk 7-0 on March 11.

Speaking about Ribery, Guardiola insisted that it will take a miracle for him to play against Porto. 

"I don't have the feeling that he can play," Guardiola told reporters in Munich. "He's been out for a long time, but maybe something happens today, and maybe he can play."

However, Guardiola is able to call on the services of defender Philipp Lahm and midfielder Bastian Schweinsteiger once more. 

"In the last few weeks, I have always made last-minute decisions," the Spaniard explained. "I don't know what it will be tomorrow. Phillip Lahm returns, and Bastian Schweinsteiger can train with us for the first time in weeks. That is the good news."

Guardiola also knows that Bayern face an uphill battle in the second leg after they were stunned 3-1 on April 15. 

But, he remains confident that Bayern can get the job done and advance to the semi-finals.

"It was a shame, but it was also our mistake," he said. "We can reach the next stage of this competition.

"You need to go through those situations to have the honour to play the final. Both sides will have their chances.

"We need to play well. And if we don't do that, we'll not get a good result. We need to be courageous. Of course, Porto are great side with a lot of quality. But we'll try and dominate the match.

"We need to take more risks tomorrow to overcome the deficit. I am optimistic, but also realistic. A 3-1 [deficit] is not that easy."