Wanting to learn the language and practices and doing projects to expand your knowledge.. along with reading books here and there .
Not quite a guru yet but I know a fair bit of PHP. Learn it from doing as many different projects and hands on examples as you can (after you've read about and know about the way it works)
You cant beat reading and experience. The best way to learn is to attempt a few tutorials then make up a fake project and develop it. Don't be lazy if you really want to learn. And remember G**gle is your best friend, almost all errors and questions can be answered there. Read. Read. Read. Do. Do. Do.