|
|
| Zadając pytanie dotyczące PHPNuke podaj jego wersje!! |
| Zanim zapytasz na forum ! |
UŻYJ OPCJI "ZNAJDŹ NA STRONIE" W SWOJEJ PRZEGLĄDARCE ABY PRZESZUKAĆ TĄ POMOC !
Witamy - Wstęp
Ideą powstania tej pomocy była chęć zapobiegnięcia powtarzającym się postom na forum. Takie posty, często mówiące o tym samym niejednokrotnie pozostają bez odpowiedzi lub lądują w śmietniku. Prosimy przeczytać tą pomoc zanim zada się pytanie, na które już może istnieje odpowiedź. Polecamy to zwłaszcza nowym użytkownikom naszego forum oraz wszystkim tym, którzy niedawno zaczęli swoja przygodę z PHP-Nukiem.
------------------------------------------------------
Włączenie raportowania błędów / "biała strona"
------------------------------------------------------
Raportowanie błędów normalnie jest wyłączone aby chronić Twoje dane takie jak ewentualne ściezki dostępu i np. nazwy plików przed wzrokiem ewentualnych włamywaczy. Jeśli po zainstalowaniu skryptu zobaczysz "białą stronę" możesz spróbowac włączyć raportowanie błędów aby zobaczyć co jest powowdem jej powstania i złego zadziałania skryptu.
W wersji PHP-NUKE tzw. patchowanej (np. kiedy użyto modyfikacji dostępnych na stronie nukecops.com) w pliku config.php
| Kod: |
| $display_errors = false; |
Zmień false na true
W wersji zwykłej PHP-NUKE, w większości wersji powinieneś znaleźć poniższy kod w pliku config.php. Jeśli go nie ma to go dodaj:
| Kod: |
| ini_set('display_errors','0'); |
Zmień wartość 0 na 1 aby zobaczyć ewentualne błędy
----------------------------------------------------------
Problemy z prawymi blokami (zazwyczaj wer. 7.9)
----------------------------------------------------------
Zamień w pliku theme.php
linijkę z:
Na:
| Kod: |
| if (defined('INDEX_FILE')) { |
--------------------------------------------------------------
Problemy z połaczenie do bazy lub brak tabel w bazie
--------------------------------------------------------------
Dzięki poniższemu analizatorowi możecie w prosty sposób stwierdzić czy konfiguracja, która znajduje się w pliku config.php jest poprawna i czy skrypt łączy się z bazą danych oraz czy istnieją tabele w bazie danych. Poniższy kod należy przepisać do pliku np. o nazwie analiza.php, wgrać do katalogu gdzie znajduje sie plik config.php i uruchomić go poprzez jego wywołanie w przeglądarce.
| Kod: |
<?php
require_once("config.php");
$dbcheck = mysql_connect("$dbhost", "$dbuname", "$dbpass");
if (!$dbcheck) {
die("<br><b>Skrypt analizujacy nie moze polaczyc sie z serwerem MySQL !<br>");
}else{
echo "<b>Skrypt analizujacy poprawnie polaczyl sie z serwerem MySQL!<br>";
if (mysql_select_db($dbname)) {
echo "<br>Nastapilo poprawne polaczenie z baza: \"$dbname\".<br>";
$result = mysql_list_tables($dbname);
if (!$result) {
print "Blad bazy, nie moge wyswietlic tabel\n";
print 'Blad MySQL: ' . mysql_error();
exit;
}
$i=0;
$stufftoprint = "";
while ($row = mysql_fetch_row($result)) {
$stufftoprint .= "Tabela: $row[0]\n<br>";
$i++;
}
echo "<br>Znaleziono $i tabel w bazie $dbname <br>";
echo "<br>Sprawdz teraz czy podana liczba zgadza sie z liczba tabel z pliku nuke.sql z ktorego je
instalowales:<br><br>$stufftoprint</b>";
}else {
echo "<br><br>Polaczenie z baza: \"$dbname\" NIE JEST MOZLIWE !";
}
}
mysql_free_result($result);
?> |
------------------------------
Analiza błędów PHP-NUKE
------------------------------
Zaloguj się do swojego serwera ftp i przejdź do katalogu w którym masz skrypt PHP-NUKE,
znajdź katalog includes i wejdź do niego,
Znajdź i edytuj plik sql_layer.php w katalogu includes przy pomocy edytora tekstowego,
Znajdź:
i zmień wartoiść na "1" , następnie zapisz plik,
Przeładuj stronę i zobacz jaki błąd Ci się pokazał. Użyj tego do nazwania swojego postu na forum !.
Aby wyłączyć raportowanie błędów, zamień wartość "1" na "0".
-------------------------------------------------------------------------
Raportowanie błędów w forum phpBB - od wersji 6.5 PHP-NUKE
-------------------------------------------------------------------------
Zaloguj się do swojego serwera FTP i przejdź do katalogu gdzie masz zainstalowany skrypt,
wejdź do katalogu modules/Forums/includes/ ,
Znajdź i przeedytuj plik constants.php
Znajdź poniższy kod i ustaw go tak aby włączyć lub wyłączyć analizę błędów:
| Kod: |
// Debug Level
//define('DEBUG', 1); // Analiza włączona |
lub
| Kod: |
| define('DEBUG', 1); // Analiza wyłączona |
Wykomentuj lub odkomentuj powyższą linijkę, następnie zapisz plik.
Przeładuj stronę, która wg Ciebie powoduje błąd i wykorzystaj jego nazwę do nazwania postu na forum.
----------------------------------------------------------------
Analiza błędów dla forum phpBB - wersja 6.5 PHP-NUKE
----------------------------------------------------------------
Podobnie jak powyżej w katalogu includes/ , a dokładnie modules/Forums/includes/.
------------------------------------------
Analiza błędów w pliku sql_layer.php
------------------------------------------
Otwórz plik sql_layer.php przejdź do linii 300 i zmień:
| Kod: |
case "MySQL":
$row = mysql_fetch_row($res);
return $row;
break; |
Na poniższy:
| Kod: |
case "MySQL":
if ($row = mysql_fetch_row($res)) {
return $row;
} else {
print (mysql_error());
}
break; |
Zapisz zmieniony plik, wróć do strony i sprawdź jaki błąd został wygenerowany. Użyj jego nazwy do określenia posta na forum.
---------------------------------------------------------
Sprawdzanie prostej instalacji - błędy po instalacji
---------------------------------------------------------
Pytanie:
----------
Jeśli plik config.php jest poprawnie skonfigurowany, a na przykład system zgłasza problem z dostępem do poszczególnych tabel to oznacza to błędne dane w tabelach ?
Odpowiedź:
-------------
1) Należy sprawdzić czy istnieją wszystkie tabele w bazie danych.
2) Jeśli wszystkie tabele istnieją w bazie, należy sprawdzić czy ich prefix (czyli tzw przedrostek np. nuke_) odpowiada temu, który wpisany jest w pliku config.php. Jeśli w bazie przedrostek tabel jest inny np. hey_access zamiast nuke_access, otwórz plik config.php i zmień zmienną $prefix oraz $user_prefix na przedrostek jaki występuje w bazie danych, bez znaku podkreślenia (_)
3) Otwórz plik config.php i upewnij się, że zmienna $dbtype jest ustawiona na MySQL.
Pytanie:
----------
Nie zapisują mi się dane w preferencjach serwisu (PA). Co może być przyczyną ?
Odpowiedź:
--------------
Linijki w stopce przypuszczalnie nie zostały poprawnie skasowane. Popraw to.
Lub
Skopiuj stopkę 1 i stopkę 3 do pliku tekstowego.
Skasuj je następnie i zapisz.
Zamień wszystkie pojedyńcze cudzysłowy ( ' ) na podwójne ( " ), w stopce 1 i 3 i zapisz je.
Pytanie:
----------
Użytkownik nie pozostaje zalogowany - jego status to - Wylogowany
Odpowiedź:
-------------
Znajdź poprawkę do modułu Your_Account, do odpowiedniej wersji PHP-NUKA znajdziesz ją u nas na stronie bądź na http://Nukescripts.net . Po wgraniu poprawki powinieneś logować sie już poprawnie.
Pytanie:
----------
Otrzymuję komunikat o błędzie : Cannot Add Header Information. Co on oznacza i jak się go pozbyć ?
Odpowiedź:
--------------
Najprostszym rozwiązaniem problemu, to włączenie opcji output_buffering.
Jeśli masz możliwość edycji pliku php.ini wykonaj poniższą poprawkę:
Zmień w pliku wartość:
| Kod: |
| output_buffering = On |
Lub jeśli nie masz możliwości ingerencji w plik php.ini dodaj do pliku .htaccess w głównym katalogu Twojego Nuka, linijkę:
| Kod: |
| PHP_FLAG output_buffering On |
Ostatecznie możesz dodać poniższą linijkę do pliku mainfile.php, po sekcji bloków z komentarzami.
| Kod: |
| ini_set("output_buffering","1"); |
Pytanie:
----------
Nie mogę wczytac pliku nuke.sql do bazy. MySQL zwraca mi błąd o niedopuszczalnych znakach w zapytaniu. Jak to naprawić ?
Odpowiedź:
--------------
Plik nuke.sql zawiera znaki "--" zamiast "##". Musisz je poprawić.
Pytanie:
----------
W tematach i w Newsach na mojej stronie nie wyświetlają się ikonki (pliki gif), mimo iz dodałem je na serwer. Zamiast nich mam krzyżyki. Co może być tego przyczyną ?
Odpowiedź:
--------------
Ikony tematów musza być wrzucone do katalogu images/topics. Zawsze do nazw używaj małych liter. Staraj się nie używać znaków
specjalnych. Pamiętaj iż serwer rozróżnia małe i duże litery. Nazwa pliku mojtemat.gif jest różna od nazwy Mojtemat.gif.
Pytanie:
----------
Użytkownicy mojego serwisu nie mogą się logować. Serwer mam na Windowsie.
Otwórz plik modules/Your_Account/index.php:
Zamień:
| Kod: |
| Header("Location: modules.php); |
Na:
| Kod: |
| Header("Refresh: 0;url=modules.php); |
-------------------------------------------------------------------------------
Inne znane problemy z instalacją PHP-NUKE na platformie Windows:
-------------------------------------------------------------------------------
Błędy i ostrzeżenia:
Po instalacji PHP-Nuke na lokalnym serwerze PHP opartym o platformę Windows, wielu użytkowników ma problemy z często pojawiającymi się komunikatami o błędach i ostrzeżeniach. Występują też problemy związane z logowaniem się. Niektóre z błędów wogóle nie wskazują na prawdziwy problem mimo iż włączono poprawnie raportowanie błędów. Dla takiej konfirguracji należy dokonać kilku zmien w pliku php.ini:
Znajdź:
| Kod: |
| register_globals i ustaw tą zmienną na wartość: On |
Znajdź:
| Kod: |
| error_reporting i wyłącz ją wyremowując ją |
Znajdź:
| Kod: |
| include_path i dodaj ścieżkę do twojej strony na lokalnym dysku np.: ".;c:\inetpub\wwwroot" |
Znajdź:
| Kod: |
| display_errors i ustaw tą zmienną na wartość: Off |
Znajdź
| Kod: |
| SMTP= i zmień tą wartość na poprawny serwer mailowy ( np. localhost ) |
Znajdź:
| Kod: |
| magic_quotes_gpc i ustaw tą zmienną na wartość: On |
Następnie przeładuj serwer.
Pytanie:
----------
Jak zmienić czas następnego głosowania w Ankietach ?
Odpowiedź:
--------------
Domyślnie po zagłosowaniu w ankietach możliwość następnego głosowania następuje dopiero po przerwie około 30 min., aby to
zmienić otwórz modules/Surveys/index.php i dokonaj zmiany wartości dla:
| Kod: |
| $past = time()-1800; |
Pytanie:
----------
W niektórych modułach otrzymuję ostrzeżenie następującej treści:
Warning: setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead.
Jak pozbyć sie tego komunikatu ?
Odpowiedź:
--------------
Usuń wszystkie cudzysłowy ( " ) w zmiennych "LC_TIME" w tych plikach/linijkach, w których otrzymujesz powyższe ostrzeżenie.
Zmienna "LC_TIME" po zmianie powinna wyglądać następująco: LC_TIME.
Błąd ten związany jest zazwyczaj ze zmianą wersji interpretora PHP.
Pytanie:
----------
Otrzymuję błędy PHP na forum podczas próby zapisu lub ściągania plików.
Odpowiedź:
-------------
Sprawdź czy zmienna gzip_compression dla forum jest włączona, bądź czy ma wartość "1". Wyłączyć możesz to poprzez zapytanie
do bazy danych (MySQL lub phpMyAdmin):
Kod zapytania:
| Kod: |
| update nuke_bbconfig set config_value=0 where config_name='gzip_compress'; |
Pytanie:
----------
Jak dodać linki html do Głównego Menu ?
Odpowiedź:
-------------
Znajdź poniższe linie kodu w pliku block-Modules.php, który znajduje się w katalogu bloks:
| Kod: |
| $content .= "<strong><big>·</big></strong> <a href=\"index.php\">"._HOME."</a><br>\n"; |
I poniej dodaj:
| Kod: |
| $content .= "<strong><big>·</big></strong> <a href=\"LINK\">MOJ LINK</a><br>\n"; |
Oczywiście wyrażenie "LINK" zmień na adres strony do której ma prowadzić Twój link a "MOJ LINK" na odpowiednią nazwę tego
odonośnika.
Pytanie:
----------
Podczas wysyłania poczty ze strony otrzymuje następujący komunikat:
Webmail / Warning: Call-time pass-by-reference has been deprecated
Odpowiedź:
--------------
W pliku php.ini znajdź:
| Kod: |
| allow_call_time_pass_reference |
Powinien on wyglądać następująco:
| Kod: |
| allow_call_time_pass_reference = On |
Bez żadnych znaków przed tą instrukcją (np. //).
Pytanie:
----------
Zapomniałem hasła administratora, lub jak zresetować hasło administratora ?
Odpowiedź:
------------
Użyj phpMyAdmina aby edytować zawartość tabeli nuke_authors w bazie danych i ustaw hasło na następujące:
dc647eb65e6711e155375218212b3964
Dzięki temu hasło administratora ustawisz na: Password,
Zaloguj się następnie na to konto i zmień je już w systemie.
Pytanie:
----------
Jak zmieić czas logowania administratora. Za szybko następuje wylogowanie automatyczne.
Odpowiedź:
-------------
W pliku auth.php znajdź wartość "2592000" i zmień ją w linii:
| Kod: |
| setcookie("admin","$admin",time()+2592000); |
na taka ilość sekund ile Ci pasuje.
Pytanie:
----------
Po zmianie themsa mojej strony, mój serwis nie działa. Mam na ekranie błedy lub biała stronę. Nie mogę zalogować się na administratora żeby zmienić thems na działający. Co mam zrobić ?
Odpowiedź:
-------------
Skopiuj poniższy kod do pliku napraw.php:
| Kod: |
<?php
#####################################################
#####################################################
require("config.php");
$host = $dbhost;
$database = $dbname;
$username = $dbuname;
$password = $dbpass;
$def_theme = "DeepBlue";
mysql_connect($host, $username, $password);
@mysql_select_db($database);
####################### ZMIANA THEMA #######################################
mysql_query("update ".$prefix."_config set Default_Theme='$def_theme'");
?> |
Jeśli nie posiadasz thema DeepBlue na swojej stronie zmień wartość zmiennej $def_theme = "WSTAW_NAZWE_THEMA_TUTAJ"; na taki jaki masz na serwerze, zapisz w głównym katalogu Twojego Nuka i wywołaj z przeglądarki: http://twojastrona.pl/napraw.php
Pytanie:
-----------
Co to sa CHMODy ?
Odpowiedź:
--------------
chmod = zmienia tryb lub atrybuty katalogów lub plików na serwerze.
Np. 666 lub 777,
Oznaczenia poszczególnych cyfr - xyz
x (lub pierwsza cyfra od lewej) ustawienia dla właściciela pliku lub katalogu.
y reprezentuje grupę właścicieli pliku lub katalogu.
z reperezentuje innych użytkowników (tzw. reszta świata)
Numery od 0 do 7, definiuje sie następująco:
0 = brak uprawnień
1 = włączono uprawnienia do wykonania
2 = można zapisywać
3 = 1 i 2 włączone
4 = mozna tylko czytać
5 = 1 i 4 włączone
6 = 2 i 4 włączone
7 = 1, 2, i 4 włączone
Np.
Wartość 777 oznacza że włączono możliwość czytania, zapisu i wykonywania dla wszystkich.
Pytanie:
----------
Link aktywacyjny nowego użytkownika wskazuje na błąd 404. Co może być przyczyną tego błędu ?
Odpowiedź:
--------------
Zazwyczaj błąd ten spowodowany jest błędnym wprowadzeniem adresu URL strony w preferencjach serwisu (PA).
Jeśli Twój serwis oparty o PHP-Nuka wywołuje się następująco http://www.twojastrona.pl/index.php
to adres strony musi być ustawiony w preferencjach na http://www.twojastrona.pl/
Jeśli Twój serwis oparty o PHP-Nuka wywołuje się następująco http://www.twojastrona.pl/nuke/html/index.php
to adres strony musi być ustawiony w preferencjach na http://www.twojastrona.pl/nuke/html
Jeśli Twój serwis oparty o PHP-Nuka wywołuje się następująco http://www.twojastrona.pl/html/index.php
to adres strony musi być ustawiony w preferencjach na http://www.twojastrona.pl/html
Jeśli po wpisaniu poprawnego adresu strony nadal link aktywacjny błędnie wskazuje należy sprawdzić czy znak "/" jest wymagany
na końcu adresu czy nie. Metoda prób i błędów musisz sprawdzić, dodając go lub kasując z adresu strony w preferencjach.
UWAGA !
W PREFERENCJACH STRONY NIGDY W POLU ADRES STRONY NIE WPISUJEMY ADRESU ALIASOWANEGO !!! CZYLI JEŚLI POSIADASZ ADRES DO STRONY
np. http://mojastrona.pl/mojkatalog/nuke/www A USTAWIŁEŚ SOBIE ALIAS DO STRONY np. http://mojastrona.glt.pl W SERWISIE np.
http://GLT.PL TO POPRAWNY ADRES W PREFERENCJACH SERWISU TO TEN BEZ ALIASU CZYLI: http://mojastrona.pl/mojkatalog/nuke/www
C.D.N.
Pomoc zredagowali, przetłumaczyli i poprawili:
Mariusz "@marbed" Bednarz,
@Dudi
Administratorzy serwisu http://phpnuke.org.pl
~marbed |
| |
|
|
|
|
|
|