Firstly,
If you want to achieve first class knowledge of php or any other technology - you have to do it for the real world use. Right now I am doing billing system for the place where I work, and through this project I pick up a lot of stuff about databases, php, linux, system design and etc. Such knowledge is valuable because it has to be tested by the real use! (just a thought...).
As far as books go - I would take PHP Fast & Easy by Julie Meloni. I always recommend this book for beginners. It will get you started writing scripts right away. It's not focused on mambo jumbo like some other 1000 page books do! You'll be writing some very simple yet useful programs, and through this process you'll be gaining knowledge of the language.
Other than that look at devshed.com, phpwizard.net, linuxguruz.org, phpbuilder.com, zend.com (a must - contains some great tutorials).
And remember - more code your write the better you'll be.
Hope that helps,
Di