EllisLab text mark
Advanced Search
     
Fatal error: require(): Failed opening required ‘/our_docroot/(random unicode foreign chars)’ (include_path=’.:’) in /data/CodeIgniter_2.1.3/system/co
Posted: 10 October 2012 12:40 PM   [ Ignore ]
Avatar
Joined: 2010-03-13
11 posts

I have probably the most annoying/perplexing error of all time.

Googling turned up another person asking the same question, with no replies: http://ellislab.com/forums/viewthread/217927/

I also saw this in 2.1.1, on the same server. It’s happening across multiple CI instances/applications which share the same CI core, so seems to be related to the core.

The basic problem is that I (seemingly) randomly get the following error message:

Fatal error: require(): Failed opening required ‘/our_app_path/(random unicode foreign chars)’ (include_path=’.:’) in /data/CodeIgniter_2.1.3/system/core/CodeIgniter.php on line 64

If I reload a few times, the junk characters at the end of the specified required file change seemingly at random, things like: “È _”, “Ø1_”, “°6_”, “x‡`” etc. Then, after refreshing several times, the error seems to go away. But if I wait a few minutes it comes back. Which leads me to believe it’s somehow session-related.

If I delete my browser cache/cookies, it comes back after reloading a few times, but not right away.

Update: I only see “junk” unicode chars at the end of the app path if I try accessing a page other than my domain root. For example if I visit:

http://my.site.com/ (error with no junk chars)
http://my.site.com/about (error WITH junk chars)

So maybe it’s related to the input class, hmm.

Update 2: Wrong! I just loaded http://my.site.com/ and got:

Fatal error: require(): Failed opening required ‘/(application dir here)/0,_’ (include_path=’.:’) in /data/CodeIgniter_2.1.3/system/core/CodeIgniter.php on line

Update 3: BUT… If I keep reloading my root domain URL, I sporadically get the error as usual, except no junk chars on the end of the app path. Hmm.

Any ideas would be appreciated, pulling my hair out over here.

Thanks!

 
Posted: 10 October 2012 01:28 PM   [ Ignore ]   [ # 1 ]   [ Rating: 0 ]
Avatar
Joined: 2010-03-13
11 posts

Fixed:  In /data/ci/system/core/CodeIgniter.php I moved the line:

set_error_handler('_exception_handler'); 

above these lines:

if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
{
    
require(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
}
else
{
    
require(APPPATH.'config/constants.php');

and that seems to have fixed the issue!

Edit: It turns out PHPExcel is using set_error_handler and this was the culprit. After reverting my change to CodeIgniter.php in the core, and instead commenting out their use of set_error_handler like so:

PHPExcel_Calculation_ExceptionHandler {
    
/**
     * Register errorhandler
     */
    
public function __construct() {
//        set_error_handler(array('PHPExcel_Calculation_Exception', 'errorHandlerCallback'), E_ALL);
    
}
    
... 

everything seems to work fine. Whew!