I never had a problem with my foreskin. I was always able to retract it easily, without any pain. However, a couple years ago I noticed that it started to get tighter. Gradually over the past couple years it got tighter and tighter and I had the characteristic white phimosis ring on my foreskin. I was still able to pull it back, but it was much tighter and sometimes it hurt. It would stay pulled back because the ring would catch on the back of my head. Then I started noticing very tiny red spots on my head. Here's how I cured my phimosis.
First I heard about dipping your penis in hydrogren peroxide. I bought a small bottle of it and poured some in a small rectangular box. Then I would lie down on my stomach with some pillow on the floor and I rested like that with my penis in the hydrogen peroxide. I heard that you are supposed to do this every day for 20 minutes. Well, after just a few days the small red spots cleared up. So it fixed that problem, but I still had the tight, white phimosis ring on my foreskin.
Next I heard that using an anti-fungal cream (like those used for athletes foot or jock itch) might help. I bought Lotrimin Ultra (not Lotrimin AF). The active ingredient is Butenafine Hydrochloride. I applied the cream to the head of my penis and to the foreskin, inside and outside. Basically I covered the whole area with the cream and rubbed it in. I did this once a day, every day for about two weeks. I also tried to keep my foreskin pulled back all day. Gradually it started to get better. After about 2 weeks, I noticed that my foreskin wouldn't stay pulled back all day. Sometimes it would slip forward and cover my penis, so I had to pull it back again. Then I realized that the reason, that it didn't stay back because it was getting looser. Sure enough, it worked! Now I don't see the big, white phimosis ring anymore and it's much easier to pull back. It's almost completely back to normal.
I highly recommend trying Lotrimin Ultra. I didn't try Lotrimin AF, maybe that would work too. I just tried Lotrimin Ultra because it's supposed to be stronger.