When embedded in a web server, PHP scripts usually do their job
quickly and exit. This paradigm does not fit when using CLI; your scripts may
run forever, or at least until the next power failure. For example, if you write
a daemon (UNIX lingo for a server process running in the background), the script
will typically hang around forever, waiting for some kind of input to process, a
timer signal, or something similar.

One of the practical consequences of this is that sloppy coding
styles, which are relatively harmless in a short web-server request, have more
of an impact in a long-running script. For example, when you open a file or
database connection but don’t explicitly close it, PHP closes it for you at
the end of therequest. But in a long-running script, “at the end of the
request” is not until the script exits, which it does not even have to do.

This does not have to be a problem, because PHP also frees
resources when they are no longer referenced. But keep this in mind when
programming scripts that are supposed to run for some time. If you are finished
with a file, close the file descriptor. If you’re finished with database
operations, disconnect. If you don’t need that big array anymore, empty it.