2011-07-13 18 views
6

Utkwiam problem od dziś rano, po tym jak migrowałem swoją witrynę z mojego lokalnego komputera na serwer.CodeIgniter - pusta strona na autoloadę bazy danych

Aby zastąpić kontekst, stworzyłem stronę internetową o strukturze CodeIgniter, a wszystko przed migracją działało dobrze.

Po długich badań, wydaje się, że gdy kładę to:

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

mam pustą stronę na mojej stronie internetowej, bez żadnych php/CI błędów w logach.

A jeśli pozwolę to:

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

Witryna działa prawidłowo (no, nie mogę się zalogować, ale nie mam pustą stronę).

Dodałem plik mysql.so do pliku php.ini, ale mi też nie pomógł.

Czy ktoś już napotkał ten problem? Jak możesz to rozwiązać?

Dzięki!

B

Odpowiedz

2

Czy na pewno poświadczenia db połączenia są prawidłowe? Jeśli zmienisz serwery, wydaje się, że to może być problem.

Dodatkowo CodeIgniter ustawia error_reporting (0) dla środowisk produkcyjnych --- stąd pusta strona. Sprawdź katalog logów (czy można go zapisać w procesie serwera WWW ...?) Dla innych informacji.

+0

Próbowałem połączyć się z poleceń i wszystko było OK, więc przypuszczam, że nie będzie problemu, aby mieć same referencje w pliku database.php –

+0

Mam również: error_reporting (E_ALL); a jedyną linią w dzienniku dotyczącym bazy danych jest: DEBUG - 2011-07-13 16:37:57 -> Zainicjowana klasa bazy danych sterownika –

+0

wyszukaj swoją aplikację (z katalogu głównego) w przypadku innych wystąpień "error_reporting" - - CI może przesłonić ustawienie po – jlb

0

Wygląda na to, że twoja baza danych nie jest poprawnie skonfigurowana, a twoja instalacja PHP blokuje błędy.

Spójrz na logach lub spróbuj umieścić

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

w index.php i zobaczyć, co można dostać

+0

, która jest wyłączona w konfiguracji codeigniter, która nie zadziała – Christophe

+0

Parametry db wydają się być w porządku, ponieważ mogę połączyć ją z linią poleceń, i mogę osiągnąć to na moim maszyna. Serwer DB również nie jest lokalny. –

1

Proszę ponownie uruchomić serwer WWW i spróbuj ponownie.

utwórz nowy plik info.php za pomocą phpinfo();

<?php 

phpinfo(); 

?> 

zobaczyć, czy rozszerzenie mysql się ładuje, jeśli jego ładowanie

spróbować zrobić chmod 0777 do directoy

1

Dzieje się tak, gdy nie masz zainstalowanego modułu MySQL dla PHP. W systemie Windows, wydaje mi się, że jest on dostępny z instalatorem php. Jeśli jesteś na Linuksie, na przykład w Fedorze, to jak go zainstalować:

sudo yum -y install php-mysql

Zrestartuj serwer WWW po instalacji.Zakładając, że używasz apache httpd:

sudo service httpd restart

Teraz powinieneś zobaczyć stron ponownie (zakładając, że masz odpowiednie ustawienia w conf/database.php).

1

Właśnie miałem ten błąd, po debugowaniu sterownika MYSQL wymyśliłem problem.

Problem polegał na tym, że w pliku konfiguracyjnym bazy danych korzystałem z MYSQL jako sterownika, gdy na serwerze zainstalowano MYSQLI, po prostu zmień go na pliku konfiguracyjnym i gotowe.

Mam nadzieję, że to komuś pomaga.

0

Dla mnie, mając ten sam problem przy użyciu Z-WAMP, musiałem odkomentować "rozszerzenie = php_mysql.dll" z php.ini. Również przypisano "mysql.default_port = 3306" i "mysql.default_host = localhost". Mam nadzieję, że pomaga komuś tam

4

Miałem podobny problem z pustymi stronami, pozornie powiązanymi z ładowaniem bazy danych, czy to przez automatyczne ładowanie, czy wywołanie $this->load->database(); w konstruktorze modelu. W końcu musiałem zmodyfikować mój plik "php.ini", komentując extension=php_pdo_mysql.dll i odkomentowując kod: extension=php_mysql.dll (tj. Wyłączając PDO). Używam Windows 8.1, Apache 2.2 i PHP 5.3.27.

Ta odpowiedź jest podobna do innej, ale nie mogłem dodać komentarza do wyjaśnienia, ponieważ właśnie się zarejestrowałem. Zabrało mi to kilka godzin i wiele Googlingów, więc mam nadzieję, że to pomoże komuś.

0

Dla osób korzystających z Linuksa (. Esp ubuntu) i wciąż otrzymuję pustą stronę, wykonaj następujące czynności:

  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

Instalowanie php5-pgsql naprawiono to dla mnie (na Ubuntu)

7

w aplikacji Zgłoszeniowy/config/database.php Sprawdź,

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

jest ustawiony na

$db['default']['dbdriver'] = 'mysqli'; 
Powiązane problemy