PHP-Nuke: instalacja cz. III

Autor: Arkadiusz Tobiasz 4 grudnia 2010

W tym wpisie poruszę podstawowe problemy z jakimi możesz się spotkać podczas instalacji CMSa jakim jest PHP-Nuke.

7. Najczęstsze problemy po instalacji

W tej części mojgo wpisu chciałem poruszyć najczęstsze problemy, które występują podczas instalacji PHP-Nuke. Podam tutaj sposoby w jaki można próbować je rozwiązać.

Błąd połączenia z bazą danych

Jeżeli po instalacji wywołamy naszą stronę i zobaczymy (rys. 24) komunikat: „There seems to be a problem with the MySQL server, sorry for the inconvenience”, to oznacza, że wystąpił problem z połączeniem do naszej bazy danych. Na 99% źle został skonfigurowany plik config.php w związku z czym połączenie z bazą danych nie może zostać poprawnie zrealizowane.

Rysunek 24. Błąd połączenia z bazą danych

 Jeżeli chcesz się upewnić, że to jest wina podania złych danych do połączenia z bazą danych możesz wykonać prosty skrypt, np. o nazwie test.php, który umieścisz w katalogu głównym swojej strony (tam gdzie znajduje się plik config.php). Jeżeli naszym oczom ukaże się informacja o PHP na naszym serwerze, to znaczy, że połączenie przebiegło w porządku. Jeśli natomiast dodatkowo pojawi się komunikat błędu w pierwszej linii, to oznacza, że połączenie z bazą danych nie może zostać poprawnie zrealizowane, czyli gdzieś w pliku config.php popełniliśmy błąd.

test.php

1
2
3
4
5
6
7
<?php
include("config.php");
mysql_connect("$dbhost", "$dbuname", "$dbpass");
mysql_select_db("$dbname");
echo mysql_error();
phpinfo();
?>

Jeszcze raz upewnij się, że podane przez Ciebie wartości podane w pliku config.php są poprawne. Jeżeli masz wątpliwości, to poszukaj w pomocy, która powinna być dostępna na stronie twojego usługodawcy hostingowego. Możesz także wysłać wiadomość z prośbą o podanie poprawnych danych. Jedną z głównych przyczyn tego błędu jest to, że użytkownicy podają jako $host localhost, a na swoim serwerze jest to inna nazwa lub adres IP, dlatego upewnij się jaki jest host Twojej bazy danych.

Komunikat ten wyświetla się także wtedy, gdy są problemy z bazą MySQL na serwerze, z którego korzystamy, więc po awarii wszystko powraca do normy i nie ma powodów do niepokoju.

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource

Często, nie tylko podczas instalacji pojawia się komunikat: „Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource”, który mówi nam, że do funkcji mysql_fest_row() został podany argument, który nie jest zgodny z MySQL. Jest to bardzo ogólny błąd, który mówi, że z jakiś przyczyn nie możesz się połączyć poprawnie do bazy danych, bowiem otrzymywane dane nie są poprawne według MySQL. Ta informacja jak już pisałem jest bardzo ogólna, ponieważ nie wiemy co w naszym zapytaniu do bazy danych jest źle. W związku z tym zmodyfikujemy lekko plik includes/sql_layer.php, aby otrzymać więcej informacji na temat naszego błędu.

Szukamy:

1
2
3
4
caseMySQL:
    $row = mysql_fetch_row($res);
    return $row;
break;

Zamieniamy na:

1
2
3
4
5
6
7
caseMySQL:
    if($row = mysql_fetch_row($res)) {
        return $row;
    } else {
        print (mysql_error());
    }
break;

Dzięki tej modyfikacji otrzymamy już dokładny błąd generowany przez MySQL, który pomoże nam znaleźć jego przyczynę. Niestety nie podam tutaj gotowego rozwiązania tego przypadku, ponieważ tych błędów może być bardzo wiele. Myślę, że pomoże Tobie jednak to w szukaniu prawdziwej przyczyny generowania tego błędu

Call to undefined function: message_die() in db.php line 88

Kolejny błąd, który omówię to komunikat: „Call to undefined function: message_die() in db.php line 88”. Jest to jeden z najczęstszych błędów, które występują podczas instalacji PHP-Nuke. Możliwych przyczyn tego błędu może być wiele, ja postaram się omówić te, które najczęściej występują:

  • Nie wgrałeś na serwer poprawnie wszystkich potrzebnych plików z katalogu nuke/, który znajdował się w paczce PHP-Nuke.
  • Nie wgrałeś na serwer wszystkich potrzebnych plików z katalogu nuke/, który znajdował się w paczce PHP-Nuke, ponieważ przekroczyłeś limit miejsca na serwerze.
  • Nie wpisałeś w zmiennej $dbtype wartości MySQL w pliku config.php.
  • Podałeś złą nazwę bazy danych w pliku config.php. Upewnij się, że baza o takiej nazwie istnieje!
  • Nie uzupełniłeś poprawnie pliku config.php. Sprawdź jeszcze raz poprawność wpisanych tam danych, czy nie popełniłeś literówki oraz czy wszystkie zmienne poprzedzone są znakiem $.

Te wskazówki powinny Tobie pomóc w zlikwidowaniu tego błędu. Jak już wcześniej pisałem, najczęstszym błędem popełnianym przy instalacji jest niepoprawne skonfigurowanie pliku config.php.

You have an error in your SQL syntax near ‚————-

Kolejnym często popełnianym błędem jest komunikat: “You have an error in your SQL syntax near ‚————-„, który pokazuje się w phpMyAdminie podczas próby wgrania pliku nuke.sql do naszej bazy danych.

Rozwiązaniem tego problemu jest usunięcie linii (————————————————-) złożonych z myślników z pliku nuke.sql.

 

Odpowiedz

 

Arkadiusz Tobiasz student Akademii Ekonomicznej im. Karola Adamieckiego w Katowicach na specjalnościach informatyka ekonomiczna oraz rachunkowość. Więcej...

jQuery Validation i funkcja remote

Jakiś czas temu zwrócił się do mnie użytkownik z problemem. Chodzi o to, że korzysta on z pluginu walidacji jQuery, […]

Zend Framework: integracja z Uploadify

W tym wpisie postaram się przedstawić Wam w jaki sposób zintegrować skrypt Uploadify z Zend Frameworkiem. Dzięki temu będziemy mogli […]

Javascript: Czasowe wyświetlanie reklamy

Czasami chcemy, aby na pewnym elemencie naszej strony wyświetlała się reklama przez jakiś czas, a następnie zniknęła. W tym wpisie […]

Linux: backup wszystkich baz danych MySQL

Swego czasu pisałem o tym jak z poziomu konsoli można szybko i przyjemnie zrobić backup bazy MySQL. Wszystko jest ładnie […]