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.

Fatal error after install (SignInForm does not exist)

edited September 2008 in Vanilla 1.0 Help
Hi, I'm trying to install Vanilla 0.9.2 and I have done all the steps correctly. But, after the final step, the signin page doesn't appear, but this error shows up: A fatal, non-recoverable error has occurred Technical information (for support personel): Error Message: The "SignInForm" class referenced by "SignInForm" does not appear to exist. Affected Elements: ObjectFactory.NewObject(); What am I missing? Thanks, Vamsee.

Comments

  • Anybody? Please? I have a client waiting to see the forum... :-(
  • MarkMark Vanilla Staff
    Make sure that all of the files have been uploaded properly - this is the most common mistake resulting in errors like this one.

    Failing that, I'd make my way through the code trying to find the spot where the error occurs and try to find out why. The SignInForm is instantiated on line 21 of signin.php. It is done using the ObjectFactory object. The object factory throws that error on line 39 of library/Utility.ObjectFactory.class.php like so:

    if (!class_exists($ClassName)) $Context->ErrorManager->AddError($Context, "ObjectFactory", "NewObject", "The \"".$ClassName."\" class referenced by \"".$ClassLabel."\" does not appear to exist.");

    So, it's checking to see if the class name has been defined, and it's saying it hasn't. The SignInForm class is included on line 74 of the appg/init_external.php like so:

    $Page->Import($Page->ControlFile);

    The "$Page->ControlFile" variable should be controls/signin.php.

    So, you can check that the correct control file is being imported (just echo and die to see), and if it is being imported properly, you can check to make sure that the file exists.
  • Thanks Mark, I did that. It prints out: controls/index.php
  • MarkMark Vanilla Staff
    Okay, that's what it should be.

    so, is the controls/index file there? Can you open it up and make sure it's not empty?

    I've seen some ftp programs screw up and leave files blank.
  • I have a doubt, though. I is possible to run vanilla on a virtual host? Like instead of xyz.com/forum, I want to run it as forum.xyz.com. And I'm using Lighttpd. Those are the only unusual things I'm doing.
  • edited February 2006
    Yes mark, I checked controls/index.php. The contents are there. I don't think a corrupted file can be the reason because I'm on a vps, and I'm using wget to download the vanilla file directly from the site.
  • MarkMark Vanilla Staff
    I've heard of a lot of problems on here with wget, believe it or not.

    A virtual host shouldn't be a problem - I'm running Vanilla on numerous virtual hosts (w/ apache, tho) without issues. What version of PHP have you got?
  • MarkMark Vanilla Staff
    Another thing I'd try is echoing something from within that controls/index.php file - that way you know for sure that it is being included properly.
  • Yes, the echo worked properly. The I don't know too much of php, so am kind of lost. php -v on the machine gives this: PHP 4.3.10-16 (cli) (built: Aug 24 2005 20:25:01)
  • lechlech
    edited February 2006
    that's typically just the CLI version which might not actually be the version apache or whatever your webserver is using. just create an info.php with the contents of <?php phpinfo(); ?> and then go ahead and upload and view it on your domain, it should give you the info on what it's actually running. Given, it might be the exact same version, but t's worth a look.
  • Hello, I had the same problem and noticed that the file uploaded to my website "People.Control.SignInForm.php" was only 673 bytes and the original is 4.65KB. I copied the original one back up and it worked fine! :o) I hope this helps? Cheers!
This discussion has been closed.