Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Installation error help

edited February 2010 in Vanilla 2.0 - 2.8
when trying to install v2, when visiting the installation folder i am greeted with a Bonk error page "i purpose that we please add a link on these error pages to display the error details instead of having to edit config files.. the link could say Click to debunk"

after viewing the error details its showing
/cache/Smarty/compile' does not exist, or is not a directory.
this error occurred on or near library/vendors/Smarty-2.6.25/libs/Smarty.class.php
Fatal Error in PHP.ErrorHandler();

1109: * @param integer $error_type

1110: */

1111: function trigger_error($error_msg, $error_type = E_USER_WARNING)

1112: {

1113: trigger_error("Smarty error: $error_msg", $error_type);

1114: }



1117: /**

Line 1113 is highlighted
then there is a backtrace
/library/core/functions.error.php:132] PHP::include();
/library/core/functions.error.php:132] PHP::ErrorHandler();
/library/vendors/Smarty-2.6.25/libs/Smarty.class.php:1113] PHP::trigger_error();
/library/vendors/Smarty-2.6.25/libs/internals/core.write_compiled_resource.php:20] Smarty->trigger_error();
/library/vendors/Smarty-2.6.25/libs/Smarty.class.php:1451] PHP::smarty_core_write_compiled_resource();
/library/vendors/Smarty-2.6.25/libs/Smarty.class.php:1274] Smarty->_compile_resource();
/library/vendors/Smarty-2.6.25/libs/Smarty.class.php:1126] Smarty->fetch();
/library/core/class.smarty.php:54] Smarty->display();
etc etc etc

any ideas? i have changed the chmods around, made the missing directories and no luck

# Application: Garden
# Application Version: 1.0
# PHP Version: 5.2.5


  • lol, I like the idea of having it say, "Click here to de-bonk" ;-)

    According to Smarty's docs, the error means "that $caching is enabled and either; the $cache_dir is incorrectly set, the directory does not exist, or cache/Smarty/cache is a file and not a directory."

    As Garden/Vanilla 2 came with an empty cache directory for me also, I suppose this means either the cache directory was not writable and the Smarty directory was unable to be auto-created, or it somehow missed a step. If you've created the directory it asks for, that message should change to say the directory is not writable if it isn't ...
  • bobthemanbobtheman
    edited February 2010
    @louis thanks for the reply
    i know the chmod settings are right because the cache directory is being written to..

    though there isnt a cache/smarty dir .. trying that now .. no luck :( looks like the script is not functioning properly and skipping a step AFAICT

    hum.. cache/Smarty/compile\' does not exist, or is not a directory.'

    [error_type] 256

    update, i added /Smarty/compile directorys and now when i visit the installation path it just says..

    Page Not Found

    The page you were looking for could not be found.

    what should i try next ?
  • Um ... just a guess, but check if conf/config.php says
    $Configuration['Garden']['Installed'] = TRUE;
    and if so, try changing it to FALSE?

    Or maybe try deleting everything, and truncating/emptying the database, then do another git clone of Vanilla 2, ensuring PHP has write access to
    where in cache it creates Smarty/cache, Smarty/compile, HtmlPurifier/HTML, HtmlPurifier/URI (last two for the HtmlPurifier plugin) ... and so on. If it's not at some point making these directories, I'm sure something's configured incorrectly or there could be a PHP 5.2.5 bug. Run ls -Al (that's Al as in the name) and see what it reports next to cache, conf, and uploads ... compare that to User/Group in a php_info(); call or something like that.
  • bobthemanbobtheman
    edited February 2010
    garden installed = false ... cant get to the first page of the installer
    deleted entire directory, uploaded and all cache conf and uploads are 755
    back to the original error

    backtrace shows the problems start here
    index.php:41] Gdn_Dispatcher->Dispatch();
    /library/core/class.dispatcher.php:230] HomeController->FileNotFound();

    :( im stumped
    any other suggestions or tips would be greatly appreciated
  • @bobtheman I suspect the problem is it's trying to render the 404 page before having actually installed. The Smarty error message is a red-herring, then, and the real problem is why does it not understand /v3/index.php/garden/gardensetup and load the index method of the gardensetup.php controller in the garden app?

    I suspect it has something to do with the subdirectory, or maybe your .htaccess/Apache configuration. Did you upload also the .htaccess file? You can add to it a RewriteBase statement, or maybe tweak the config.php file. Apparently 404's while trying to load setup are relatively common, I guess, (313 results on Google for 404 gardensetup
  • i still cant get this to install :( any other ideas?
  • bobthemanbobtheman
    edited February 2010
    im able to get a new error now,
    Gdn_Dispatcher::include(dirtohomepath/applications/garden/controllers/home.php) [function.Gdn-Dispatcher-include]: failed to open stream: No such file or directory
    The error occurred on or near: /library/core/class.dispatcher.php

    481: list($this->_ApplicationFolder, $this->_ControllerName, $this->_ControllerMethod) = explode('/', $this->Routes['Default404']);

    482: $ControllerFileName = CombinePaths(array('controllers', strtolower($this->_ControllerName) . '.php'));

    483: $ControllerPath = Gdn_FileSystem::FindByMapping('controller_mappings.php', 'Controller', PATH_APPLICATIONS, $ControllerWhiteList, $ControllerFileName);

    484: include(CombinePaths(array(PATH_APPLICATIONS, $this->_ApplicationFolder, 'controllers', 'appcontroller.php')));

    485: include($ControllerPath);

    486: }

    487: }

    488: return FALSE;

    489: } else {

    variables in local slope
    [ThrowErrorOnFailure] true

    [ControllerWhiteList] array (
    0 => 'garden',

    [PathParts] array (
    0 => 'controllers',
    1 => 'v4.php',

    [ControllerFileName] 'controllers/home.php'

    [ControllerPath] '/applications/garden/controllers/home.php'

    # Application: Garden
    # Application Version: 1.0
    # PHP Version: 5.2.5

    **update.. never mind, after clearing the cache it gives me the same error i posted to begin with .. arrgg
  • i filled a issue ticked on github.. i think this is the normal process right ?
  • still having issues, any other suggestions ?
  • Did you try installing it on a subdomain like I suggested via private message? And did you make sure the .htaccess file was present, perhaps by renaming it before uploaing, then renaming it back in FTP? If all else fails, maybe ask your web host to check the permissions or perhaps even upgrade PHP to 5.3.0-- you could also get started with a local install on your PC then copy the conf and DB to the web host, tweaking MySQL connection params as needed.
  • .htaccess is present, installed on sub no luck same errors, renamed dir no luck

    re-downloading latest updates from github to see if anything has changed, will update
  • ***update

    i recreated a new subdomain and installation worked. I think there may be something wrong with ..


    installing on worked which is setup like maindomain/v2 .. instead of subdomain/v2.. hope that makes sense.
  • Hi Bobtheman - so it works now that you reinstalled it on a - instead of ?
  • @oliveolive
    Thats correct, in about a week or so i plan to download the newest version from github and try again on to see if it will go through.
  • @bobtheman or @oliveolive: I suspect if it doesn't work in a subdirectory, e.g., but does work in a subdomain, e.g., on the same host, then the problem lies with Apache not figuring out that /forum/index.php/garden/gardensetup refers to forum/index.php ... In theory, adding RewriteBase to your .htaccess file might help, but not always.

    Subdirectory installations with URL rewriting of any kind are usually harder to do than subdomain installations. There's also the chance that a script installed at your domain has URL rewriting enabled and is grabbing the URL before the subdirectory is even considered. E.g. If you have Joomla installed on your domain, and you want vanilla at, then you will need to make sure that Vanilla's URL-rewriting .htaccess file ignores URLs that start with /forums RewriteCond. Though the simplest fix is to just put the forum in a subdomain, e.g., so it acts as another virtual host for apache, with its own independent settings and cookies.
  • @louis
    Though i would assume this is still an active issue that, if not fixed, will pose issues in the future. thanks again for your help
  • @bobtheman I would totally agree with ya. Any thoughts, @Mark?
Sign In or Register to comment.