That’s like asking “how long is a piece of string?”.
How many other programming languages do you already know? If you already know a programming language then learning another will be quicker. If you already know lots then you can concentrate more on the differences.
If you have a good grasp of PHP I think you could get by with skimming through the basics.
No need to postpone your progress by being overly thorough.
Then look for an example of something you are interested in doing and try doing it.
Don’t waste time wallowing in indecisiveness, pick something, anything, and get busy.
* notable exception being AJAX where you would need a server
Mozilla has collected some of the best learning resources on the Internet and grouped them by Introductory, Intermediate, and Advanced. If you’re looking for something to read top to bottom, I think this is your best bet.
Sorry if this was already posted, I just skimmed through the replies.
And about the “paying the bills”, i’m in the same exact situation. I’m studying my ass of every day and applying to every single junior web development job possible (no degree at all).
What i’ve learned about success - Anything worth it does not come easy.
Keep your chin up, keep working your ass off. It will pay off.
EDIT: I started programming about 4 months ago. I already know how to build a application from scratch, integrate APIs into a web application, query databases (decently). Just gotta put the hours in and concentrate!