Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Vanilla: moving domain, white page displayed

edited October 2008 in Vanilla 1.0 Help
I've just moved a vanilla installation from one domain to another. I've edited all the config files, and the Style database table, so all URLs are correct. I moved a Wordpress installation, and several other things at the same time, and these all work fine. But when I visit the /forum/ directory where Vanilla is installed I get a white page. I've inserted 'echo something;' into a number of pages to isolate the problem, and it appears to lie here: * index.php runs fine until it gets to include("appg/init_vanilla.php"); * appg/init_vanilla.php runs fine until it encounters $Context = new Context($Configuration); Then everything grinds to a halt. conf/database.php, conf/settings.php have all been updated with new path. Can anybody help? Any and all assistance much appreciated. Yours, James
«13

Comments

  • Which version are you using?

    add to appg/header.php
    ini_set('display_errors', 1);

    and comment out in appg/init_vanilla.php (line 58):
    ob_end_clean(); ob_start();
  • edited October 2008
    It's Vanilla 1.1.4. I made the changes you specified, but it hasn't changed anything. I'm as sure as can be that neither headers.php nor init_vanilla.php (beyond line 45) are even being loaded. The problem occurs at $Context = new Context($Configuration); (init_vanilla, line 45). Can you suggest anything else? Many thanks.
  • It doesn't display any errors?
  • No errors: just the white page. Would really appreciate some help on this. Is there a domain moving checklist somewhere? I can't find one. I think I've described the issue pretty well. If someone could explain what's happening at $Context = new Context($Configuration); that would help in figuring it out.
  • You will have to check when the error occurs in /library/Framework/Framework.Class.Context.php (the constructor is line 141)
  • Hmmm - I'm getting nothing. I tried this: function Context(&$Configuration) { echo 'got to here'; $this->Configuration = &$Configuration; ... But I'm still getting a blank white page. I also re-installed /library/Framework/Framework.Class.Context.php just in case. What error should I be looking for? (And thank you very much for the ongoing help.)
  • Max_BMax_B New
    edited October 2008
    Depending on your server configuration, there are three way to activate error logging
    - ini_set as mentioned before, it is sometimes (often) disabled on shared hosting.
    - htaccess file where you should add the line: php_flag display_errors on
    OR
    - the php.ini at the root directory of your hosting with the line: display_errors = on

    The last both are mutually exclusive.
  • Thanks Max - I've successfully activated server logging now using php_flag display_errors on in the htaccess file, and I'm getting plenty: Warning: include() [function.include]: URL file-access is disabled in the server configuration in /var/www/sites/XXXX/htdocs/forum/appg/init_vanilla.php on line 18 Warning: include(http://XXXX/forum/appg/headers.php) [function.include]: failed to open stream: no suitable wrapper could be found in /var/www/sites/XXXXX/htdocs/forum/appg/init_vanilla.php on line 18 Warning: include() [function.include]: Failed opening 'http://XXXXXX/forum/appg/headers.php' for inclusion (include_path='.:') in /var/www/sites/XXXXXX/htdocs/forum/appg/init_vanilla.php on line 18 This repeats for all the global includes in appg/init_vanilla.php (I've replaced the dev site address with XXXX in the above). My first thought was that allow_url_fopen was set to off in php.ini - but it isn't (checked with phpinfo). The php settings are pretty much the same as the domain I moved it from. Any thoughts? Thanks.
  • edited October 2008
    You need to update the path related settings in conf/settings.php:
    $Configuration['APPLICATION_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/'; $Configuration['DATABASE_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/conf/database.php'; $Configuration['LIBRARY_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/library/'; $Configuration['EXTENSIONS_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/extensions/'; $Configuration['LANGUAGES_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/languages/'; $Configuration['THEME_PATH'] = '/var/www/sites/XXXXX/htdocs/forum/themes/vanilla/';
  • edited October 2008
    I've changed all the paths in conf/settings.php to local paths as you suggest. Thank you for this. Out of interest, why would only local paths work on one server, while absolute paths worked on the server I was porting the application from. I now get a very different error: Notice: Undefined index: AUTHENTICATION_CLASS in /var/www/sites/XXXX/htdocs/forum/library/Framework/Framework.Class.Context.php on line 233 A fatal, non-recoverable error has occurred Technical information (for support personel): Error Message The "" class referenced by "" does not appear to exist. Affected Elements ObjectFactory.NewObject(); For additional support documentation, visit the Lussumo Documentation website at: lussumo.com/docs
  • appg/settings.php must be out of date. it is has been added to Vanilla 1.1.5
  • Googling AUTHENTICATION_CLASS, I found this version of the appg/settings.php in the Vanilla SVN repository: http://lussumo.com/svn/vanilla/trunk/src/appg/settings.php It has $Configuration['AUTHENTICATION_CLASS'] = 'Authenticator'; in the 'People' settings, and adding this line in verbatim means the site now runs. However, I can log in but this is not remembered, so there's obviously something strange going on with this setting - or the lack of it. Any ideas?
  • edited October 2008
    allow_url_include must be disable (by default). That wasn't that a great anyway.
  • edited October 2008
    First, you should upgrade to Vanilla 1.1.5a. $Configuration['AUTHENTICATION_CLASS'] was in the 1.1.5 and 1.1.5a package. You did something wrong when upgrading the last time.

    Then you should check your cookie settings are fine:
    $Configuration['COOKIE_DOMAIN'] = ''; $Configuration['COOKIE_PATH'] = '/';
    Put back more restrictive settings when everything else is working.

    Finally you should check with your provider if you need to do anything to enable php session. who is your provider?
  • edited October 2008
    I've upgraded the installation to 1.1.5a (although I haven't upgraded before, so I'm not sure what I can have done wrong). I've copied your cookie settings above. allow_url_include is disabled. The forum is still working, but it's not saving my session: I log in, and am returned to the home page, still as a guest. The site is hosted by MediaTemple, and PHP Session is enabled according to phpinfo. What can I try next? James
  • This is hosted on a (dvs) account. I tried the workaround anyway, but no dice.
  • You can check the session work first.

    add that at the bottom of appg/init_vanilla.php:var_dump($_SESSION); if (empty($_SESSION['test']) { $_SESSION['test'] = 'set'; }

    Reload twice the forum home page and check that session is working.
  • adding the var_dump($_SESSION); code and reloading the page repeatedly outputs: " array(0) { } " every time. I'm thinking this means session isn't working? I don't have privileges to follow the (dv) workaround - but if session is definitely not working I can take this up with the administrator.
This discussion has been closed.