Hi there,
I'm having trouble trying to install RoundCube 3.1
As soon, as I open the installer/index.php I get this error (part of it):
QuoteFailed opening required 'main.inc' (include_path='.')
Obviously the script is not able to resolve the include path.
Any suggestions?
Cheers
localhorst
Its trying to include the /program/include/main.inc check that its there, if it is and you have access to your Apache config try comment out any "php_value include_path" type lines in your Apache conf file.
It is there - definitely. I even tried different RC versions - down to 2.2
Watch out what the path is in the error message:
include_path='.'This should be at least
config and some more in the beginning.
Additional information:
the index.php in the root gives this error:
QuoteFatal error: ini_set/set_include_path does not work.
So it seems to me that something in this code is not working:
define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/');
define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
$include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
$include_path .= ini_get('include_path');
set_include_path($include_path);
Quoteif it is and you have access to your Apache config try comment out any "php_value include_path" type lines in your Apache conf file
I dont have access to the php.ini - I'm on a shared account.
Its not a RoundCube bug its a problem with the server setup. Since you don't have access to the configuration files you will have to ask your host if they have any restrictions on setting the include path, also what version of PHP are you using?
Yar, I've never talked about a bug in RC. ;)
The PHP Version is 5.2.6-1+lenny3
And the PHP include_path is:
Local value: .
Master Value: .:/usr/share/php:/usr/share/pear
I was wondering if i could set the include path manually in the RC code. Already played around a bit with it, but without success yet.
Is it correct that it is only set in the installer/index.php (for installation) and program/include/iniset.php (for the running program)?
Is it necessary that the include path is set automatically? A workaround for people like me, hosted on a shared account, would be great. So this would be one reason less to bother my hoster.
Well that's the problem Roundcube is trying to set the include path using set_include_path however is not working (most likely because php_admin_value include_path is set in the apache config witch blocks you from changing it). Its not because your on shared hosting its the way your host has the server configured. The only solution that you could do without contacting your host would be to manually add the include path for each include() and require(), but that would take a lot of time and would make RoundCube hard to update. I recommend asking your host about the set_include_path, its not a security risk so there no reason to not be allowing it.
Quote from: skaero;26386Well that's the problem Roundcube is trying to set the include path using set_include_path however is not working (most likely because php_admin_value include_path is set in the apache config witch blocks you from changing it).
And I'm wondering why RC is doing so. Why is it necessary for RC to put the include paths into the PHP config?
e.g. phpBB (and other PHP scripts) don't do it this way - this is the first script I have these problems with.
Don't get me wrong, I don't want to moan, just want to understand.
I'll ask my host like you've recommended anyways.
Thanks for your support and have a nice weekend! :)
Having the set_include_path locked its not a common problem and its got a lot of benefits. Instead of have to put the relative file path time every time you include a file you put all of the root paths in one place, the main advantage of that is you don't have to know the path to the file to include it. I hope that make sense, let me know if you need a better explanation.