As far as I know, there's no specific hard-limit on the PHP side. However, most file systems perform badly when they have huge directory entries.
You possibly want to split your session files in subdirectories, as the manual explains:
session.save_path string
session.save_path
defines the argument
which is passed to the save handler. If you choose the default files
handler, this is the path where the files are created. See also
session_save_path().
There is an optional N argument to this directive that determines the number of directory levels your session files will be spread
around in. For example, setting to '5;/tmp' may end up creating a
session file and location like
/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If.
Beware that you first need to create the directory tree yourself. It shouldn't be difficult to write a PHP script to do so.