CodeIgniter пустой экран после миграции - PullRequest
4 голосов
/ 23 февраля 2011

Итак, у меня есть сайт, написанный с использованием инфраструктуры CI. Он отлично работал на оригинальном хосте (Apache). Локально работает (IIS 7 Express). Мы только что приобрели новый VPS (Windows Server 2008 R2), и php был предварительно установлен (PHP версии 5.2.10), теперь, когда я захожу на сайт, я получаю пустую страницу.

После отладки, просто очень часто печатая «ОК», я определил, что CodeIgniter.php сбрасывается:

$CI  = new $class();

Теперь, чтобы попытаться решить проблему, я зашел в config.php и установил:

$config['log_threshold'] = 4; 

Однако я даже не получаю никаких файлов журналов. Я заметил, что разрешения на запись не включены, поэтому я зашел в «c: \ inetput \ wwwroot» и установил максимальные разрешения для пользователя «IIS_IUSRS»

К сожалению, файл журнала не создается. "index.php" по-прежнему пуст, поэтому я совершенно сбит с толку. Я впервые работаю с приложением CI. Пожалуйста, помогите!

Редактировать: Гарантированный MySQL установлен и MySQL включен для PHP

Спасибо Chris

Ответы [ 9 ]

6 голосов
/ 08 ноября 2012

Тревор прав.У меня была точно такая же проблема, и она была решена сразу после установки php-mysql.Я запускаю это на CentOS 6.2, и я установил php-mysql, и это сработало.

2 голосов
/ 02 июля 2013

Была точно такая же проблема. В моем случае php-mysql был установлен, но не появился в phpinfo (). Я использую php-fpm (с nginx), и причина была в том, что php-fpm нужно было перезапустить

sudo /etc/init.d/php5-fpm restart
0 голосов
/ 16 апреля 2019

У меня была такая же проблема, откройте файл config / database.php и измените 'mysql' на 'mysqli' в dbdriver.

$db['default']['dbdriver'] = 'mysqli';
0 голосов
/ 22 февраля 2016

У меня была та же проблема, что и у OP (выполнение остановилось на "$ CI = new $ class ();" в CodeIgniter.php, в результате чего появилась пустая страница), но я нашел свой ответ здесь: http://forum.codeigniter.com/thread-60436.html

Строка 257 в system / core / Common.php была

return $_config[0] =& $config;

Я изменил его на

$_config[0] =& $config;
return $_config[0];

и проблема ушла. Это произошло после перехода с PHP 5.4 на 5.6 с запущенным CodeIgniter 2.1.

0 голосов
/ 07 июля 2015

У меня была такая же проблема.

Чтобы включить отображение ошибок, измените
define('ENVIRONMENT', 'production');
до
define('ENVIRONMENT', 'development');
в index.php.

Показывает: Fatal error: Cannot redeclare class Xml in /www/.../application/libraries/Items/Xml.php on line 3

Добавление , если до объявления класса:
if (!class_exists('Xml')) { class Xml extends XmlElement {...}
решило эту проблему

Также работаем с
if (true) { class Xml extends XmlElement {...}
Магия! :)

P.S. Я перехожу с php 5.4.36 на 5.6.6-2 Я думаю, что проблема растет из версии PHP

0 голосов
/ 20 марта 2014

У меня была такая же проблема.Это было из-за настроек базы данных.Проверьте настройки базы данных.

Моя проблема заключалась в том, что я использую движок выражений, и сайт стал пустым в той же строке, что и вы.Я использую Vagrant, поэтому мне пришлось установить правильный порт в настройках конфигурации базы данных для Expression Engine, и тогда он заработал.

0 голосов
/ 23 февраля 2011

САМО ОТВЕТ: Причиной были пробелы (пришлось переформатировать весь код, открыв каждый файл в редакторе FTP и повторно сохранив)

0 голосов
/ 23 февраля 2011

Измените $ config ['uri_protocol'] на "REQUEST_URI".

0 голосов
/ 23 февраля 2011

Вероятно, возникла ошибка, но она не отображается из-за настройки отчетов об ошибках по умолчанию. Я обычно изменяю настройки сообщения об ошибках на моей машине разработки (в CI index.php) следующим образом:

  if ($_SERVER['HTTP_HOST'] == "localhost") {
    error_reporting(7);
  } else {
    error_reporting(E_ERROR);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...