CodeIgniter - пустая страница в автозагрузке базы данных - PullRequest
6 голосов
/ 13 июля 2011

У меня возникла проблема с этого утра, после того как я перенес свой веб-сайт со своего локального компьютера на сервер.

Чтобы заменить контекст, я разработал веб-сайт со структурой CodeIgniter, и все до миграции былоработает нормально.

После долгих исследований кажется, что, когда я ставлю это:

$autoload['libraries'] = array('database');

У меня есть пустая страница на моем сайте, без каких-либо ошибок php / ci в журналах.

И если я позволю это:

$autoload['libraries'] = array();

Сайт работает правильно (ну, я не могу войти, но у меня нет пустой страницы).

Я добавил mysql.so в файл php.ini, но он мне тоже не помог.

Кто-то уже сталкивался с этой проблемой?Как вы можете решить это, пожалуйста?

Спасибо!

B

Ответы [ 10 ]

7 голосов
/ 19 апреля 2016

в application / config / database.php убедитесь, что для

$db['default']['dbdriver'] = 'mysql';

установлено значение

$db['default']['dbdriver'] = 'mysqli';
4 голосов
/ 23 октября 2013

У меня была похожая проблема с пустыми страницами, которые, похоже, были связаны с загрузкой базы данных, будь то через автозагрузку или вызов $this->load->database(); в конструкторе модели. В итоге мне пришлось изменить мой файл php.ini, закомментировав extension=php_pdo_mysql.dll и раскомментировав extension=php_mysql.dll (т.е. отключив PDO). Я использую Windows 8.1, Apache 2.2 и PHP 5.3.27.

Этот ответ похож на другой, но я не мог добавить комментарий для разъяснения, так как я только что зарегистрировался. Мне потребовалось несколько часов и много Google, чтобы решить, так что, надеюсь, это кому-нибудь поможет.

2 голосов
/ 13 июля 2011

Вы уверены, что ваши учетные данные для подключения к БД верны? Если вы переключаете серверы, похоже, это может быть проблемой.

Кроме того, CodeIgniter устанавливает error_reporting (0) для производственных сред - отсюда и пустая страница. Проверьте каталог журналов (доступен ли для записи процесс веб-сервера ..?) Для получения любой другой информации.

1 голос
/ 06 июня 2012

У меня только что была эта ошибка, после отладки драйвера MYSQL я выясняю проблему.

Проблема заключалась в том, что в файле конфигурации базы данных я использовал MYSQL в качестве драйвера, когда на сервере был установлен MYSQLI, просто измените его в файле конфигурации, и все готово.

Надеюсь, это кому-нибудь поможет.

1 голос
/ 02 апреля 2012

Это происходит, когда у вас не установлен модуль mysql для php. Я полагаю, что в Windows это происходит с установщиком php. Если вы используете Linux, например, Fedora, вот как вы его устанавливаете:

sudo yum -y install php-mysql

Перезагрузите веб-сервер после установки. Предполагая, что вы используете apache httpd:

sudo service httpd restart

Теперь вы должны снова увидеть страницы (при условии, что у вас правильные настройки в conf / database.php).

1 голос
/ 16 июля 2011

Пожалуйста, перезапустите ваш веб-сервер и попробуйте снова.

создайте новый файл info.php с phpinfo ();

<?php

phpinfo();

?>

посмотрите, имеет ли расширение mysqlзагрузка, если его загрузка

попробуйте сделать chmod 0777 для вашей директории

0 голосов
/ 16 февраля 2015

Установка php5-pgsql исправила это для меня (в Ubuntu)

0 голосов
/ 13 декабря 2013

Для тех, кто использует Linux (особенно Ubuntu) и все еще получает пустую страницу, сделайте следующее:

  1. sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cli mysql-server
  2. sudo service apache2 restart
  3. $autoload['libraries'] = array('database');
0 голосов
/ 10 февраля 2013

Для меня, имеющего ту же проблему с использованием Z-WAMP, пришлось раскомментировать «extension = php_mysql.dll» из php.ini.Также назначены "mysql.default_port = 3306" и "mysql.default_host = localhost".Надеюсь, это поможет кому-то там

0 голосов
/ 13 июля 2011

Похоже, ваша база данных не настроена должным образом, и ваша установка PHP блокирует ошибки.

Посмотрите на ваши файлы журналов или попробуйте вставить

ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

в index.php и посмотрим, что вы получите

...