I recently switched web host and having tough time to get anything to work with the new web host.
I was with hostmonster and they were using PHP 5.4
I am now with Webserve and they use PHP 5.5.30
I don't know what changed, but I am using MY_Loader.PHP and it goes into loop whenever it is used.
I have enabled error logs and attached for your information.
I'm using smarty and it was working in PHP 5.4 but it keeps loading the smarty settings in PHP 5.5.30
Following is my MY_Loader.PHP that is in Appliation\Core folder
PHP Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/** * MY_Loader class extends the core CI_Loader class. * * @author Eric 'Aken' Roberts <[email protected]> * @link https://github.com/cryode/CodeIgniter_Smarty * @version 1.0.0 */
class MY_Loader extends CI_Loader {
/** * Replace the default $this->load->view() method * with our own, so we can use Smarty! * * This method works identically to CI's default method, * in that you should pass parameters to it in the same way. * * @access public * @param string The template path name. * @param array An array of data to convert to variables. * @param bool Set to TRUE to return the loaded template as a string. * @return mixed If $return is TRUE, returns string. If not, returns void. */ public function view($template, $data = array(), $return = false) { // Get the CI super object, load related library. $CI =& get_instance(); $CI->load->library('smartytpl');
// Add extension to the filename if it's not there. $ext = '.' . $CI->config->item('smarty_template_ext');
if (substr($template, -strlen($ext)) !== $ext) { $template .= $ext; }
// Make sure the file exists first. if ( ! $CI->smartytpl->templateExists($template)) { show_error('Unable to load the template file: ' . $template); }
// Assign any variables from the $data array. $CI->smartytpl->assign_variables($data);
// Assign CI instance to be available in templates as $ci $CI->smartytpl->assignByRef('ci', $CI);
/* Smarty has two built-in functions to rendering templates: display() and fetch(). We're going to use only fetch(), since we want to take the template contents and either return them or add them to CodeIgniter's output class. This lets us optionally take advantage of some of CI's built-in output features. */
$output = $CI->smartytpl->fetch($template);
// Return the output if the return value is TRUE. if ($return === true) return $output;
// Otherwise append to output just like a view. $CI->output->append_output($output); }