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.