Wikary napisał:No i udało mi się odnaleźć odpowiedź. Wikary, to nie jest odpowiedź. To jest problem albo z Twoim serwerem, albo masz "
chmody" niewłaściwe. Wyjaśnię Ci dlaczego.
- Funkcja mkdir służy do tworzenia katalogów w określonej w parametrach ścieżce.
Kod: |
<?php
mkdir ("/sciezka/do/mojego/katalogu", 0777);
?>
|
- W pliku modułu "mod_fb_last_subjects.php" umieszczony jest poniższy kod, który podczas pierwszej inicjacji modułu, próbuje utworzyć dwa katalogi. Jako pierwszy katalog o nazwie "joomla_enhanced", którego w standardowej instalacji Joomla po prostu nie ma. Jeśli skryptowi modułu uda się utworzyć taki katalog w ścieżce "www/includes/", to wówczas przystępuje do tworzenia drugiego katalogu, ale już jako podrzędnego dla katalogu "joomla_enhanced", o nazwie "tabber". Jeśli te operacje powiodą się, wówczas w dalszej części skrypt próbuje skopiować swoje pliki do nowo utworzonego katalogu. Nie będę tutaj cytował kodu, bo nie jest on tutaj potrzebny. Sam przebieg tworzenia katalogów, przy wykorzystaniu wspominanej wyżej funkcji mkdir przedstawiony jest na poniższym kodzie:
Kod: |
//Tabber check
//Check Dir
$check_dir = mosPathName("$mosConfig_absolute_path/includes/joomla_enhanced");
if (!is_dir($check_dir))
{
mkdir($check_dir);
}
$check_dir = mosPathName("$mosConfig_absolute_path/includes/joomla_enhanced/tabber");
if (!is_dir($check_dir))
{
mkdir($check_dir);
}
|
Jeśli wszystko pójdzie gładko, skrypt dokończy swoje dzieło, i moduł zacznie funkcjonować.
Jeśli jednak pokażą się błędy, cytowane przez Ciebie Wikary, oznacza to, że skrypt nie ma dostępu do katalogu "includes", przez co nie może stworzyć wymienianych wyżej katalogów. A co za tym idzie, nie może skopiować plików z "../modules/mod_jb_last_subjects/" do katalogów, których nie udało mu się stworzyć, stąd taki długi listing błędów pojawił Ci się na stronie.
- Dobrze radzisz, aby samemu utworzyć owe katalogi, ale nie rozumiem zupełnie, dlaczego sam masz nadawać im prawa do zapisu. Przecież po skopiowaniu dowolnego, utworzonego na dysku komputera folderu, serwer sam, automatycznie nadaje mu odpowiednie "chmody". Nie Ty. To co, jak instalujesz dowolny składnik dla Joomla, to też nadajesz prawa katalogom?. Po skopiowaniu folderu na "normalny" serwer, jest on już tak ustawiony, że ma prawa do zapisu. Zgodnie z wymogami serwera. Bo te prawa mogą różnie wyglądać. U mnie, na OVH dla katalogów, tuż po wrzuceniu folderu na serwer, ustawiane są "chmody" na 755, czyli pełne prawa dla właściciela, dla grupy - czytaj, wykonaj. Dla Świat (inny) - czytaj, wykonaj. I cały Twój problem polega na tym, że masz źle skonfigurowany serwer, lub sam zmieniasz prawa ( a wszystko na to wskazuje ) katalogom. Przez co i też mogłeś nadać niewłaściwe "chmody" katalogowi "includes", np 700, stąd też moduł nie może utworzyć pod katalogów "joomla_enhanced" oraz "tabber".
Reasumując. Twoja odpowiedź to nie jest rozwiązanie dobre, bo instalacja dowolnie czego powinna odbywać się bez ingerencji właściciela strony w prawa do zapisu dla katalogów. Poczytaj ten tekst, i sprawdź jak się ma sprawa na twoim serwerze z ustalaniem wymienianych tutaj praw. Staraj się sam nie zmieniać "
chmodów", bo często prowadzi to do całkowitego zablokowania serwera. Napisz do
Adminów strony maila z zapytaniem:
Jakie powinny mieć "chmody" katalogi oraz pliki na Twoim koncie?". Jak będą grzeczni, to Ci odpiszą. Jeśli taką informacje otrzymasz od nich, wówczas będziesz mógł spokojnie w "
konfiguracji witryny=>Ustawienia globalne" nadać wszystkim folderom i plikom odpowiednie prawa. Na serwerze
OVH jak pisałem wcześniej, dla plików "
chmody" są na
644, a dla katalogów
755. Nawet zalecają
Admini ustawienie praw dla głównego katalogu, czyli "
www" chmody na
705. Ja mogę bez obaw w "
globalnej konfiguracji" nadawać prawa plikom zgodnie z zalecanymi wartościami, i robię to wielokrotnie. A robię to dlatego, że niektóre instalatory składników same modyfikują "
chmody" swoich katalogów na
777, co jest, ze względów bezpieczeństwa niedopuszczalne. Po zmianie na
755 komponenty, modułu czy boty i tak pracują poprawnie.
A co do działania modułu, to u mnie działa poprawnie, natomiast ten "
wbudowany" w
Fireboard czasami nie pokazuje nowych postów. Dlatego zalecam, aby nie umieszczać modułu "
FB latest subjects" w tym samym "menu", co
FireBoard, dlatego że są to moduły o bardzo podobnej konstrukcji. Oba wykorzystują funkcję "
tabber", oraz korzystają z identycznych zapytań do bazy danych
SQL, stąd mogą kolidować ze sobą. Proponuję umieścić go na stronach innych niż
FireBoard. U mnie jest na stronie głównej, i jest to zmodyfikowana wersja. Poprawiłem w nim funkcje odpowiedzialne za wyświetlanie
Overlib.
Co do modyfikacji z czasem, to przyjrzę się temu w wolnej chwili. Pozdrawiam .
Jokris.