lighttpd & symlinks
My Lighttpd/FGCI/PHP installation sometimes has difficulties with php scripts which are really symlinks. Now, to be honest I have not fully debugged this issue yet, but sparse error messages like "No input file specified
" and blaming PHP are not really helpful when no workaround is in sight. Some said that setting broken-scriptfilename
would help, which was been introduced in 2005, but with lighttpd-1.5, the whole fast-cgi setup has been changed quite a bit and this option is not applicable any more.
To be fair, there's even a FAQ entry for this particular error message, but it was not as straightforward as it looked like:
> You forgot to add '''cgi.fix_pathinfo=1 to your php.ini''' file....tried that, with no effect.
> If open_basedir is set, make sure the requested file is below one of the directories which is specified there.check!
> If you are running PHP with different permissions than lighttpdnope.
> Make sure you did not set doc_root or userdir in php.ini, or if you have set it, make sure it has the correct value....there are different vhosts here, each having a different
server.document-root
set, but only one php.ini where I could set doc_root
. However, php.ini/user_dir value was unset - when I set it to the same value as userdir.path
in lighttpd, at least the symlinks below the ~user
directories were working again! Of course, one could have different values for userdir.path
(or is this a global option?), but I guess having a single userdir.path
value is much more feasible than having just one server.document-root
set.