Php Include pbm on a Fedora server


I share with you something very strange.

One of my client has a server with a fedora core distrib + interworx

When I tried to install a CMS like postnuke/phpnuke etc… he always had an error because all include directives in php went to /usr/sausalito/ui/libPhp:/usr/sausalito/ui/web

In fact I found that on fedora distrib you had to do this :

  • edit the /etc/php.d/cce.ini
  • Modify the line include_path = “/usr/sausalito/ui/libPhp:/usr/sausalito/ui/web”
  • By this one include_path = “/usr/sausalito/ui/libPhp:/usr/sausalito/ui/web:.”

Don’t know exactly why you have to add this “:.” but the fact is that after having done this update everything worked fine :slight_smile:

If I’m not false, the cce.ini is for cobalt server and sausalito too

If someone has more information about this; it is welcome


Adding :. just includes the current directory the script is running from ( . ) in the include path.

I think its bad form from the developers of the software you mention (Don’t get me started on PHPNuke…). Its perfectly fine not to have the current directory in an include path. Depending on how you look at it, it might be a good idea. There is too much assumption about the environment, and considering how easy it is to set the include path or specify full paths for includes, well, it just seems lazy to not be complete in that particular situation.

It’s not a CMS developer problem.

In fact it is a Fedora/cobalt problem. I don’t know why but on these distrib/adminstration pannel, there is by default a cce.ini file in /php.d that define the include path to sausalito.

On others distrib there is not this pbm, so installing a CMS as postnuke/phpnuke or others is easy and there isn’t an include path set at a php level (there is no cce.ini)

What I’m saying is that the software shouldn’t need the include path set, or should to it itself.