So I have my app that is running perfectly fine on almost all environments but a new one I'm setting up. I use Ubuntu on all servers that it is working. The new environment is Joyent's SmartOS (www.joyent.com) which is based on OpenSolaris. Not sure this has anything to do with it or not.
It appears my routes are being discovered properly on the malfunctioning environment which is set to stage.
The log output on the working server is simply:
Warning - 2012-12-26 20:12:01 --> Fuel\Core\Fuel::init - The configured locale en_US is not installed on your system.
Info - 2012-12-26 20:12:01 --> Fuel\Core\Request::__construct - Creating a new Request with URI = ""
Info - 2012-12-26 20:12:01 --> Fuel\Core\Request::execute - Called
Info - 2012-12-26 20:12:01 --> Fuel\Core\Request::execute - Setting main Request
The log output on the malfunctioning server is:
Warning - 2012-12-26 20:10:01 --> Fuel\Core\Fuel::init - The configured locale en_US is not installed on your system.
Info - 2012-12-26 20:10:01 --> Fuel\Core\Request::__construct - Creating a new Request with URI = ""
Info - 2012-12-26 20:10:01 --> Fuel\Core\Request::execute - Called
Info - 2012-12-26 20:10:01 --> Fuel\Core\Request::execute - Setting main Request
Warning - 2012-12-26 20:10:07 --> Fuel\Core\Fuel::init - The configured locale en_US is not installed on your system.
Info - 2012-12-26 20:10:07 --> Fuel\Core\Request::__construct - Creating a new Request with URI = ""
Info - 2012-12-26 20:10:07 --> Fuel\Core\Request::execute - Called
Info - 2012-12-26 20:10:07 --> Fuel\Core\Request::execute - Setting main Request
Info - 2012-12-26 20:10:07 --> Fuel\Core\Request::__construct - Creating a new Request with URI = "welcome/404"
Info - 2012-12-26 20:10:07 --> Fuel\Core\Request::execute - Called
Warning - 2012-12-26 20:10:16 --> Fuel\Core\Fuel::init - The configured locale en_US is not installed on your system.
Info - 2012-12-26 20:10:16 --> Fuel\Core\Request::__construct - Creating a new Request with URI = ""
Info - 2012-12-26 20:10:16 --> Fuel\Core\Request::execute - Called
Info - 2012-12-26 20:10:16 --> Fuel\Core\Request::execute - Setting main Request
The header/footer are rendering fine, but the insides are not working. It seems to be failing back on the welcome/404, but I'm not sure why it wouldn't be able to find the path. It has to be configuration based obviously, but what server setting would cause this?
If this is the result of a single browser request, it could be that some assets are missing or permissions on assets are wrong.
In the default .htaccess, assets are excluded from rewriting to index.php by a "file-exists" check. If that fails, loading an image can suddenly become a call to index.php, which off course doesn't know what to do with it.
Missing templates would throw an exception, so that can't be the problem.
Hum, I did a close inspection on phpinfo between the two servers and found that short_open_tag was off on the malfunctioning server. I switched that to on and the content is rendering. I suppose there are some <? in there although I went through and didn't see any. If this doesn't resolve the problem completely I'll post any additional findings. Thanks Harro