Loading...
 
Architecture / Installation

Architecture / Installation


open_basedir = no value

posts: 12

We have been using TikiWiki 2.4 for a while. Everything was working fine until recently we upgraded to Apache/2.2.22 (Unix). Now we can't access the TikiWiki.

Error message shown:

Tikiwiki is not properly set up:

The directory '' does not exist or PHP is not allowed to access it (check open_basedir entry in php.ini).

Your options:

1- With FTP access:
a) Change the permissions (chmod) of the directories to 777.
b) Create any missing directories
c) Execute the Tiki installer again (Once you have executed these commands, this message will disappear!)

or

2- With shell (SSH) access, you can run the command below.

a) Run setup.sh and follow the instructions:
$ bash
$ cd /usr/webapp/csmail
$ sh setup.sh

The script will offer you options depending on your server configuration.

b) Execute the Tiki installer again (Once you have executed these commands, this message will disappear!)

If you have problems accessing a directory, check the open_basedir entry in
/usr/local/lib/php.ini or httpd.conf.


I have checked the php.ini and found that open_basedir = no value. I think the open_basedir is no value all these while. How come it worked previously but not now?

What does the following message mean?

The directory '' does not exist or PHP is not allowed to access it

How to fix it? I try not to run the Tiki installer again to avoid a new database being created. I want to use back the existing database.

Your help is much appreciated. Thanks!

posts: 214

The directory that should be displayed within the quotes is the save path. No directory name is displayed because the variable $save_path is empty.

If the open_basedir entry in your php.ini has always been empty, then the save_path you had before may have been supplied by a session.save_path= in the httpd.conf file for your previous version of apache. Or maybe from an http include file for your domain that is not being picked up by the new apache.

Check phpinfo() to see if session.save_path is empty, if it is, that is the problem. Tiki needs a path that it can store session information.

posts: 12
Tom Jarvis wrote:

The directory that should be displayed within the quotes is the save path. No directory name is displayed because the variable $save_path is empty.

If the open_basedir entry in your php.ini has always been empty, then the save_path you had before may have been supplied by a session.save_path= in the httpd.conf file for your previous version of apache. Or maybe from an http include file for your domain that is not being picked up by the new apache.

Check phpinfo() to see if session.save_path is empty, if it is, that is the problem. Tiki needs a path that it can store session information.


Hi, Tom, thanks for your prompt reply.

I checked the session.save_path= with phpinfo() and it's empty (no value). If I give session.save_path= in php.ini a value say, "/var/lib/php/session", do I still need to set the open_basedir= or the session.save_path= in httpd.conf?

Thanks again!

posts: 214

You are probably still missing the open_basedir values too.

The open_basedir should contain a list of colon delineated paths. My open_basedir contains multiple paths, one of which is the save_path (/var/lib/php/session). There are several others, including the path to pear, the path to my domain home folder, the path to a script file, and /tmp.

My values are set in the local php.ini file created by my control panel. Are you using a control panel?

These values must have been set some where before for you, if you could find where, and get them included from there again, that would be best.


posts: 12

Hi, Tom. Sorry for late reply.

After setting the value for session.save_path in php.ini, our TikiWiki site is accessible.

In our case, we do not need to set the open_basedir.

Thanks again for your advice.