If you're looking to find out how a physics engine works you should check out Box2D, it's an open source 2D physics engine. https://github.com/erincatto/Box2D
I would recommend participating in some game jams to get you started and see if it's something that you want to pursue. There are several notable ones every year. The next big one is Global Game Jam[0] at the end of January and then there is Ludum Dare[1] three times a year (April, August, December). These will help you grow as a game developer and learn a little bit about everything that is involved with creating a game.
After participating in some game jams I would suggest doing some research into what the work/life balance is for game developers (spoiler, there's not much of one) and decide if that's something that you can live with.
Finally if you're looking for things to learn to more easily get a job in the industry I would suggest mastering Unity 3D[2]. It's quickly becoming a ubiquitous tool that game companies use to at least prototype games in and showing mastery should at least get you in the door for an interview.
Are you already using a framework? If so which one? If not, I would check out the book Modernizing Legacy Applications In PHP by Paul M. Jones http://bit.ly/1FQjpby
I think the MS stack is extremely usable especially if you leverage Azure to get started. It abstracts away a lot of the pain points that I've run into with dealing with the stack in my day job (mainly IIS). You should also check out the BizSpark program which will give you access to an Ultimate MSDN subscription and an Azure credit every month.
If you're looking to find out how a physics engine works you should check out Box2D, it's an open source 2D physics engine. https://github.com/erincatto/Box2D