Просмотр нагрузок в автономном режиме, но не на живом сайте
Ну, это довольно странно...
Я загрузил свой 100% работающий веб-сайт на свой сервер, и он внезапно перестал работать.
Чтобы быть конкретным:
- На контроллере Home все идет гладко, но
$this->load->view(
часть, кажется, игнорируется - Я повернулся
error_reporting
и установитеENVIRONMENT
вdevelopment
, но это все еще не показывает никаких ошибок вообще
мой Home/Index
контроллер:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
$this->load->model('theme');
$themes = $this->theme->getLatestThemes(100);
$this->load->model('post');
$posts = $this->post->getLatestPosts(3);
echo "ENVIRONMENT : ".ENVIRONMENT; // Shows up fine
$this->load->view('home',array("themes"=>$themes, "posts"=>$posts));
echo "AFTER"; // Shows up fine
}
}
?>
Есть идеи? Что может быть не так?
PS Обратите внимание, что все настройки БД были обновлены соответственно, а также .htaccess
файл (даже когда я все там стёр, хотя, если была какая-то ошибка, она все равно имела нулевую разницу)
ОБНОВИТЬ:
Я, кажется, сузил причину этой странной проблемы...
Когда я отключаю хук, вид загружается нормально. Тем не менее, я до сих пор не знаю, почему он работает локально, а не онлайн?
в hooks.php
$hook['display_override'] = array(
'class' => 'Minifyhtml',
'function' => 'output',
'filename' => 'Minifyhtml.php',
'filepath' => 'hooks',
'params' => array()
);
Крючки /MinifyHtml.php
<?
function getAd($matches)
{
$CI =& get_instance();
return $CI->load->view("template/adsense",array("ad"=>$matches[1]),true);
}
class Minifyhtml {
function output()
{
$CI =& get_instance();
$buffer = $CI->output->get_output();
$search = array(
'/97ed7d147627494968723a2bc9f346c699e2a004gt;[^\S ]+/s', //strip whitespaces after tags, except space
'/[^\S ]+97ed7d147627494968723a2bc9f346c699e2a004lt;/s', //strip whitespaces before tags, except space
'/(\s)+/s', // shorten multiple whitespace sequences
'/<!--(.*)-->/Uis'
);
$replace = array(
'>',
'<',
'\1',
''
);
$ad_regex = "/%%([A-Za-z0-9:\-]+)%%/i";
$buffer = preg_replace($search, $replace, $buffer);
$buffer = preg_replace_callback($ad_regex, "getAd", $buffer);
$CI->output->set_output($buffer);
$CI->output->_display();
}
}
?>
1 ответ
OMG... так глупо.
'filename' => 'Minifyhtml.php'
, в hooks.php
должен был быть изменен на 'filename' => 'MinifyHtml.php'
(капитал H
) - не уверен, почему это сработало локально, хотя...