Automatically managed memory for local variables and call frames. When a function is called, its data is pushed onto the stack. On return — it is popped. Stack overflow = recursion too deep, stack exhausted.
Dynamic memory for objects with an indefinite lifetime. Allocated on new Object(), freed by the garbage collector. Memory leak = objects are not freed because "stray" references to them exist.
memory_get_usage() — current consumptionmemory_limit in php.ini — maximum for a single process