Usually when I see PHP classes, most of the variables and functions are either private or protected. Because the PHP is executed on the server side, I don't understand why you would need these security features. Are these available for security or am I missing something?
They're to keep other developers from doing silly things that they shouldn't be doing anyway.
They are not security features, but elements of Object Oriented Programming and Design.
Check a few of the questions and answers given on SO about when to use which.
Also see
Private and protected make sense in the context of visibility, and not security features stricto senso.
Class members declared public can be accessed everywhere. Members declared protected can be accessed only within the class itself and by inherited and parent classes. Members declared as private may only be accessed by the class that defines the member.
It's not really about security, but more about the OOP design. They tell you, and other developers, how the class should be used. Private and protected variables are for internal use, while public members are for public use.