Welcome Guest, Not a member yet? Register   Sign In
Fatal error: require(): Failed opening required '/our_docroot/(random unicode foreign chars)' (include_path='.:') in /da
#1

[eluser]taber[/eluser]
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!
#2

[eluser]taber[/eluser]
Fixed: In /data/ci/system/core/CodeIgniter.php I moved the line:

Code:
set_error_handler('_exception_handler');

above these lines:

Code:
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:

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

everything seems to work fine. Whew!




Theme © iAndrew 2016 - Forum software by © MyBB