веб-приложение не загружается, нет ошибок в журнале ошибок apache2

0

У меня есть веб-приложение codeigniter, работающее в рабочей среде. Я пытаюсь создать новую область разработки и скопировать все файлы, и я пытаюсь ее запустить и запустить. Пока это не было! Когда я отправляю страницу/запрос данных... я возвращаю 200... но данные json не отображаются на странице.

Код

Здесь выполняется код контроллера "виджеты":

public function getlocations()
{
    echo("made it here");
    exit;
    $data = $this->rh_model->get_locations();
    header ('Content-Type: application/json; charset=UTF-8');
    echo json_encode($data);    
   // $this->output->enable_profiler(TRUE);
}//getlocations

То, что я пробовал до сих пор

  1. Как вы можете видеть, я играл с кодом, чтобы узнать, был ли метод даже вызван.

  2. Метод модели "get_locations" вызывает базу данных и запрашивает данные. В командной строке я убедился, что могу подключиться к базе данных вручную, используя те же учетные данные, что и приложение, как определено в файле /var/www/html/rhAPI/application/config/database.php.

  3. Здесь, что /var/log/apache2/access.log показывает:

127.0.0.1 - - [10/Dec/2014: 11:16: 13 -0500] "GET/rhAPI/index.php/widgets/getlocations HTTP/1.1" 200 225 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, например, Gecko) Chrome/39.0.2171.71 Safari/537.36 "127.0.0.1 - - [10/Dec/2014: 11:16: 28 -0500]" GET/rhAPI/index.php/widgets/getlocations HTTP/1.1 "200 225" - "" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv: 34.0) Gecko/20100101 Firefox/34.0 "

  1. В журнале ошибок apache2 ничего нет.

  2. Раздел Networking в моем инструменте отладки браузера показывает код состояния 200 OK на вкладке "Заголовки", но вкладка "Ответ" пуста.

  3. Разрешения для файлов. Я убедился, что все мои папки имеют 755, а файлы - 644. Я не думаю, что это проблема с правами доступа, потому что, когда я намеренно устанавливаю разрешения неправильно, на странице появляются ошибки разрешений. Мои настройки php.ini настроены на отображение ошибок, для ВСЕХ сообщений об ошибках.

Я не знаю, что еще я могу проверить. Мы ценим любые предложения.

ИЗМЕНИТЬ 1

Я просто пробовал этот тест в окне разработки:

  1. создать новую папку под /var/www/html под названием "test"
  2. создайте новый php файл phpinfo.php со следующим кодом:

  3. попытался перейти на localhost/test/phpinfo.php, но я тоже ничего не получаю.

Теперь я подозреваю, что apache2 настроен... проверка...

EDIT 2

Я добавил следующие записи в конструктор в модели

      public function __construct()
      {
          echo("in the constructor");
          parent::__construct();
          $this->load->database();
          echo("loaded");
      }       

Первый отладочный оператор печатается, а второй - нет. Вот что у меня в database.php:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'test1234';
$db['default']['database'] = 'testdb';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

И вот что я делаю через командную строку для проверки работоспособности подключения к базе данных:

me@medev:/var/www/html/rhAPI/application/models$ mysql -u root -p testdb
Enter password: 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 53
Server version: 5.6.19-1~exp1ubuntu2 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  • 0
    Что произойдет, если вы удалите выход;
  • 0
    Попробуйте включить ведение журнала CI и посмотрите, не вызывает ли это каких-либо проблем (установите «порог» для входа в application/config/config.php )
Показать ещё 15 комментариев
Теги:
codeigniter

1 ответ

1

Я идиот. Мне не хватало php5-драйвер/пакет mysql на этом новом сервере. Мне пришлось:

sudo apt-get install php5-mysql
sudo service apache2 restart

И все мои проблемы ушли. Извините за шум.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню