I also think that you are suffering from the classic symptom of trying to get everything just right before starting. When building a web app you want to get that thing up as fast as possible, even if it's ugly. Build a minimum viable product and connect with customers each step of the way. Test for interest, etc. You don't want to spend too much time getting everything correct just to find that you wasted your time because nobody cares for your idea.
Take a similar approach with web development. You could start out banging out sites in Drupal or Wordpress and each of these content management systems require more configuration than actual programming. You can learn these quickly and with minimal to no PHP. Your interest may be more in building web applications from scratch and there is a market for that, but you don't have to start out there. I know of plenty of people making a living strictly from building sites using already available content management systems.
Look through sites like Odesk and Elance for the types of jobs available. You might find the occasional gem in these places and even land a regular client. Don't feel bad for your lack of experience, you just need to be able to sell yourself and communicate well. Trust me, there are far worse people actually landing the jobs there.
Make sure to network through forums, Twitter and other locations where fellow developers and designers hang out. Twitter is especially good for getting a regular voice in the community and getting your name in front of people. Help out people in Twitter and forums and you will occasionally get someone hitting you up for doing some work.
As you are connecting with the community, look for ideas for building add-ons which might be in demand. This is a great way to give back and get your name out there. Offer some simple add-ons for free, but you might be able to make money by selling other add-ons.
As you beef up your freelance business and development chops, you can start moving more in the direction of building applications from scratch and perhaps working with other tools. There is a lot of exciting new things going on in the world of web development. I have been playing with Node.js a lot lately and it's a new community where you can more easily gain a good foothold as a pioneer as opposed to PHP. However, the market for this may not be as easy to get into at first.
There are also lots of methods I haven't mentioned or even thought about. Another big part of business is strategy and tactics. Figure out where you want to be and be creative in formulating a plan to get there. Do this and you might be able to leapfrog (greater income) people who have been doing this for a lot longer than you have.