I have a codeigniter project that I have run successfully on Mac OS X Lion. When attempting to run the same project in ubuntu, requesting localhost/project results in a blank pa
I had the same blank page when I started working with CI.
For me, it was just that I forgot to install mySQL on my machine. You don't get errors because in the system files, the database connection is preceded by a "@" so no errors are displayed.
If this is not the problem, check your version of PHP, or try to add a phpinfo() in the index.php file.
Did you by any chance put any white space or new lines after ending PHP tag in some of your files? If so - delete them along with closing PHP tag.
(P.S. In code igniter you should never close PHP tags in files which contain only PHP code - Controller, Model,...)
I've ended up with a similar issue only in reverse - worked on Ubuntu but then got nothing on OS X. I did have mysql installed and other sites running just fine on same server. For me there were two culprits, may be this will help you too:
Your logs directory isn't writable. Usually the directory is application/logs unless you have some custom config setup. (http://codeigniter.com/user_guide/general/errors.html) This won't just affect all those log_message(...) function calls, it will also fail when the Loader class tries to load the Log library. If this is the case, changing the logging levels in the config (as often suggested) will not produce any helpful results because, well, CI can't actually write any of the errors.
You might be missing some other php library that is installed on the server where it's working. For me it was a missing memcached php extension so Loader class was also failing when trying to initialize the Session class (a custom extended version of it though). This one might be more difficult to debug if you don't know for certain what extensions are required (like joining in on an existing project with a lot of extras on top of basic CI install). So, next step would be to go and try putting those die(...) statements through the Loader class to see what actually fails to load.