CodeIgniter Blank Page - codeigniter

n00b here. After searching the forums I have not yet come across this problem as I am experiencing it.
I have a CI site that was working correctly until about three days ago. My problem is as follows:
On button click - Page Loads correctly.
On Enter press - CI Blank Page of Death loads.
For example: When I login, after the login process has run it must reroute me to the Dashboard, unless I still have a temporary password where I get rerouted to the "Change Password" screen first and then to the Dashboard.
AS LONG AS I USE THE BUTTONS AND CLICK THEM EVERYTHING WORKS.
On ENTER PRESS, I get the Blank Screen of Death.
However, on TAB to BUTTON and then ENTER it works.
The problem is not consistent however. I have some processes that do not have views attached and NONE of them will run - hit ENTER and get blank. They are all failing on ENTER PRESS.
I am slowly going off my trolley. Logging is ON, Directories for cache and logs are 775. NOTHING is showing in my logs...

First Try to active error handlers for displaying of errors for addittional info to post here what error is occuring..
// change settings for error handler to show errors
// $this setup is used for checking errors for development to be shown....
ini_set('display_errors', 1);
error_reporting(E_ALL);
by the way if your using CI version 2 higher
you can see it in its index.php file an configuration for displaying error also.
define('ENVIRONMENT', 'development'); //just set up environtment to development

Even though there are accepted answers I wanted to add a way that worked for me to figure out this problem.
Usually the "Blank Page" indicates a PHP parsing error somewhere in the code. Strange thing for me was that on my local MAMP based test server the code ran fine. I FTP it to my hosted server and all of a sudden, blank page of death.
Even though I had errors on, log errors on, display errors on, nothing appears in any log file.
I was able to find the error by a funny little trick. I added an echo line in CodeIgniter.php in the system/core. Obviously hacking the core was not a great idea but all I wanted to do was to see how far it was getting in the load process.
When my echo appeared after trying to load a page on the remote hosted server it also displayed the parsing problem in a derived controller! Not sure why the error did not come out without the "echo" added. But adding it seemed to trigger some output to be generated, IE my echo line and the PHP parse error was appended.
Not sure if this will help anyone but it turned out to be a nice easy way to find the error which only showed on the remote server.
Obviously, don't forget to put your core file back to its original state without the echo.

This was fixed by copying the application into a fresh CI 2.3 install.
I have no idea what actually caused this "erratic" behaviour.
The application worked correctly as designed whenever a BUTTON was CLICKED but gave the blank death screen when ENTER was PRESSED.
This inconsistent behaviour is what threw me. The fact that my logs (CI and APACHE) also showed nothing was also very strange. Had this been a parse error, surely the behaviour on "Click" and on "Enter Press" should have been the same.
My non-view controllers for various ad-hoc admin jobs are now also working correctly, which they were not before, as they use "Enter Press" (having no buttons to "Click").
I am still going to invite best guesses as to why this behaviour occurred the way it did.
Surely someone out there (Phil Sturgeon et al) with extensive CI experience has encountered this non-consistent blank screen behaviour and knows what caused it.
Thank you to all the people who took the time and effort to assist me!!!
Big UP!!! StackOverflow!!!

probably error in INCLUDE login.php

My problem was Apache stop working because of ...Skype! Skype actually work on the same 443 and Apache didn't start! I hate this Skype! Bring me nuts for a while.

Installing php5-pgsql worked for me

Related

VSCode Live Server - Changes URL to /undefined

Was using LiveServer no problem for quite some time, suddenly I go and refresh the page and it changes /index.html to /undefined. Nothing I do fixes it, if I erase the /undefined, it displays the proper page for a split second then returns to /undefined.
I have attempted to uninstall & restart VSCode then reinstall, unsure what to do from here.
Turns out you cannot use certain words in your JS code or it will ruin it.

How to debug Dojo in browser?

I'm currently (trying) to develop an app with Worklight Studio 5.0.6 and Dojo (Mobile) 1.8.3. I have a really hard time to to find a proper method for debugging. After waiting 5-10 minutes for the build an deploy-process on the server, an error usually looks like this in the Chrome debugger:
How am I supposed to track down this error in MY source? The whole stack trace consists entirely of Dojo code which generates an absolutely useless error message after 20 abstraction layers.
Seriously, how do you guys handle this in real life? What methods do you use for debugging Dojo-driven apps in the browser?
spyro
For dojo.parse errors, I find it useful to pause the Chrome debugger on all exceptions (the purple icon on your screenshot, should be blue). You usally get more details about the cause of the error, the name of the DOM node being parsed, etc. in the first exception being raised.
RĂ©mi.
Debugging dojo based application should be the same as debugging any javascript application.
Usually I will follow these steps:
add console.log() somewhere in code: this is fast and most of time this is enough.
set breakpoint in debugger: if step 1 is not enough, you can base on error information to set breakpoint before error line, then step in or step out.
comment out recently changes: for some error which is hard to find the error line, for example, parse error in your case, the good way is comment out your recently changes one by one till back to your last working version. Or, return to your last working version, then add code back one by one.
Create a simple application to reproduce the error : if your application is very complicate and it is hard for you to follow above methods, you can try to create a new application which mimics your current application but with simple logics and try to reproduce the error.
Based on experience : Some errors, for example, extra ',' in the end of array which works at chrome and firefox, will report a nonsense error information at IE. Debug these kinds of errors is very difficult, you can base on your experience or do a google search.
Did you provide isDebug: true in your dojoConfig? Also, try to see if the same occurs in other browsers.
Update: I recently discovered that there are issues with Google Chrome and Dojo debugging and I think it has to do with the asynchronous loading of files. As you can see in the provided screenshot of #spyro, the ReferenceError object is blank (which you can notice because of the empty brackets {}). If you want to solve that, reopen the console of Google Chrome, (for example by tapping F12 twice). After reopening the ReferenceError should not be empty anymore and now you can expand that object by using the arrow next to it and get a more detailed message about what failed.
Usually what I do in situations like that is to place a breakpoint inside the error callback (line 3398 in your case) and then look into the error variable ("e").
I am not sure how familiar you are with the Web Inspector, but once you hit the breakpoint open the Web Inspector 'console' and check for the error properties "e.message" and "e.stack" (just type in "e.message " in the console).
Also, during development it is better to avoid Dojo optimization / minification, which greatly improve your debug-ability.
Bottom line is to try to place the breakpoint before the error is thrown.

Trouble on localhost: Must update page many times

I'm currently making a webpage and running it locally on localhost for testing. But whenever I make a change to that page and want to see the result in the browser I run into a "problem". I have to update (press F5 or the update button in the browser) several times for the site to show. In the meantime it's just white...
Let's say I have the site up in my browser (looking good), and then I make a change and want to see it. I press the update button in my browser one time and the site is now just white. I press it again and again, but it stays white. Until I press it a random number of times, and it works. Sometimes I just have to update once, and sometimes I have to update 7-8 times. Sometimes it's fast as hell, and other times it's slow as my schools computers.
Does anyone know if there might be a problem with the site itself (and this problem will continue to exist, even after I upload it to the server), or if it's just a problem with my internet/ computer/ known problem when running on localhost?
I'm using XAMPP on a Mac and have tried testing the page in both Safari and Chrome.
Thanks for all the tips in advance!
From Europe with a problem,
Alekplay
EDIT 1:
It turns out Chrome decided to give me an error message instead of a white screen now. It says "no data received", and Safari is still just blank. Any ideas? I've tried turning off caching.
EDIT 2:
Did some tweaking here and there, and found out that it's SimpePies autoloader.php that's causing my problems. Any of you have any knowledge around SimplePie, and know how I can make the site load faster? It's fine when I've commented out require_once('php/autoloader.php');, but I need that for my feeds to load. Any ideas?
Into chrome you can turn caching off. Just take a look to this page :
http://geek.michaelgrace.org/2011/09/disable-google-chrome-cache/
With Chrome: CTRL+SHIFT+R
I don't know about Safari.
That may be something related with the cache or with apache itself.
Find out if you have any error on apache's error.log. It might be related to an error similar to this one:
AH00052: child pid 62969 exit signal Segmentation fault (11)
then you should check: "[notice] child pid XXXX exit signal Segmentation fault (11)" in apache error.log
Basically it states to try to increase output_buffering in your php.ini
You would have to run a backtrace on the coredump to know why it crashed, as indicated elsewhere. In mi case it was APC, and the error went away as soon as it was disabled on php.ini. Yours might be because some other cause.

Getting NSContactsUsageDescription to work in 10.8.2

I have an app with a crash reporter that autofills in the user email address by getting it from ABAddressBook. I'm trying to get an informative message of intent in the dialog that 10.8 displays asking the user for permission. Following the advice at http://www.red-sweater.com/blog/2672/can-i-get-your-address , I've added the following to the app's Info.plist:
<key>NSContactsUsageDescription</key>
<string>blah blah blah</string>
Unfortunately, this is not working. The dialog still asks, but it does not display my description text. I've tried:
Putting this in the crash reporter framework's Info.plist instead of the app's.
Signing the app with my Developer ID cert.
But, alas, no luck. Anyone gotten this to work that can give me a tip as to what I'm doing wrong?
[UPDATE] I found the real reason why restarting helps. It kills the tccd process, which looks like the culprit in charge of displaying the message on that dialog.
So, just open Activity Monitor and kill the tccd process and your new message should just show up next time the dialog shows.
[Old Answer]
I was running into the same problem and wasn't really sure why (I was doing exactly what the documentation said to do). I finally got it working after:
Deleting the container my app was living in (~/Library/Containers/com.company-name.app-name)
Cleaning the build (In Xcode: Product -> Clean)
Restarting my machine (seems a little cargo-cultish, but I think this is what fixed the problem)
Building and running my app
The next time my app tried to access the Address Book API I was presented with the dialog that included my message.
I think Apple must be caching that message somewhere (either the message you want, or an empty string if you ran your code before you had a message to show), and the only way to clear it out is to restart. I tried the first 2 steps many times with no change in the message, even after I got the message working and then tried to change it.
Solution is to run this command in the Terminal:
tccutil reset AddressBook
Source: https://developer.apple.com/library/archive/qa/qa1906/_index.html

Any way to find out what my shared hosting "lag" is?

I have shared hosting with hostgator and until about a month ago, things were dandy. Now.. every 2 to 3 minutes, I'll click a link and the browser won't resolve for about a full minute. This is any of my sites.. and links that are both database calls or very simply html hyperlinks. It's with any browser and at work or home.
I've opened 2 tickets with hostgator and they swear all their tests show that there are no problems, but.. I get this over and over and over again.. and have for weeks now.
Is there any kind of error outputting I could do.. or tools of any kind that would allow me to troubleshoot this myself?
Not sure about other browsers, but Google Chrome has a tool to measure the time a website took to load. Click the wrench icon in the top right, then go to Tools -> Developer Tools. Then you will see a new section at the bottom of the screen. Click the Network tab and it will show you a lot of data about the latency etc. It will also show you which file is the one that is taking the longest. Hope this helps.
From a console on the server itself, use the wget command to pull a page. Do it periodically in a script, logging to a file. Put it in cron. That'll show you if there are any lag issues with the server itself. If that looks good, then it's somewhere in the network. You could do a similar test from another box on another provider, which if comes up clean, points to your ISP or DNS as the culprit.

Resources