Skocz do zawartości

Apache A Prawa Do Katalogów


tyu38

Rekomendowane odpowiedzi

Witam.

Skonfigurowałem serwer, na którym bedzie stała pewna stronka. Problem polega na tym, że kiedy z poziomu strony ( skrypt php ) probuje zapisać jakiś plik dostaje informację że sie nie powiodło. Np jakiś news, który składa się z treści i obrazka, który jest przesyłany na serwer. Informacje są poprawnie zapisywane w bazie danych, jedynie nie udaje sie wysłać obrazka.

Zaznaczam że skrypt jest dobry, był testowany na wielu serwerach i wszystko działa. Podejrzewam, że problem leży w uprarwnieniach do katalogu, w którym maja być zapisywane pliki.

Proszę o pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli skrypt PHP ma mieć dostęp do zapisu katalogu to właścicielem katalogu powinien być użytkownik apache, lub nadaj prawa chmod -R 0777 i będziesz miał spokój. Powinno wystarczy dopóki nie będziesz wiedział jakie dokładnie nadawać prawa itp.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Częściowo to pomogło, tzn obrazy zapisuje, niestety skrypt tworzy jeszcze miniaturki tych zdjeć i tego sie mu nie udaje. Wyświetla mi błąd ( przeglądarka) o numerze 500.

Zmieniłem również właściciela katolu, oraz wszytskich podkatalogów na apacha ( chown apache galeria). Niestety bez zmian.

 

Załaczam kawałek skryptu co tworzy miniaturki, moze ktos sie zorientuje w czym problem.

 

 

/ umieszczenie obrazu i sprawdzenie jego formatu
$ImageDir ="../galeria/";
$ImageThumb = $ImageDir . "mini/";

$ImageName = $ImageDir . $image_tempname;
//skopiowanie na serwer
if (move_uploaded_file($_FILES['image_filename']['tmp_name'], 
				  $ImageName)) {

 // pobranie informacji na temat umieszczonego obrazu
 list($width, $height, $type, $attr) = getimagesize($ImageName);
//sprawdzenie formatu zdjecia
 if ($type > 3) {
echo "<HR>Przykro nam, ale przesyłany obraz nie jest w formacie GIF, JPG <br>";
echo "Kliknij przycisk 'Wstecz' w przeglądarce i spróbuj ponownie.<HR>";
 } else {

// obraz jest w poprawnym formacie, moznaa kontynuowac
 // wstawienie informacji do tabeli zdjecia
$zapytanieA="SELECT * FROM moderatorzy, gminy WHERE moderatorzy.id_gminy=gminy.id_gminy AND gminy.nazwa LIKE '$nazwa_gminy';";
$wykonajA = mysql_query($zapytanieA) or die(mysql_error());
if($wierszA=mysql_fetch_array($wykonajA)){
			 $id_gminy= $wierszA["id_gminy"];
			  }else echo "Błąd nie znaleziono gminy.Skontaktuj sie z administratorem!.";

 $zapytanie= "INSERT INTO zdjecia
		(id_zdjecia, tytul_zdjecia, id_gminy, data_umieszczenia, nazwa_galerii)
		VALUES
		(NULL, '$tytul_zdjecia', '$id_gminy', '$data', '$nazwa_galerii')";
 $wykonaj = mysql_query($zapytanie) or die(mysql_error());
 //potwierdzenie wyslania danych zdjecia do BD
if($wykonaj)
	{echo "<HR><font color=green>Dane zdjęcia zostały umiszczone w bazie.</font><BR>";
	}else echo "Nie udalo się wysłać";
 $lastpicid = mysql_insert_id();

 $newfilename =  $ImageDir . $lastpicid . ".jpg";

 if ($type == 2) {
rename($ImageName, $newfilename);
 } else {
if ($type == 1) {
  $image_old = imagecreatefromgif($ImageName);
} elseif ($type == 3) {
  $image_old = imagecreatefrompng($ImageName);
}

// skonwertuj obraz do formatu JPG
$image_jpg = imagecreatetruecolor($width, $height);
imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0, 
				 $width, $height, $width, $height);
imagejpeg($image_jpg, $newfilename);
imagedestroy($image_old);
imagedestroy($image_jpg);
 }

 $newthumbname = $ImageThumb . $lastpicid . ".jpg";
 // pobierz wymiary miniaturki
 $thumb_width = $width * 0.10;
 $thumb_height = $height * 0.10;

 // utworz miniaturke
 $largeimage = imagecreatefromjpeg($newfilename);
 $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
 imagecopyresampled($thumb, $largeimage, 0, 0, 0, 0, 
				$thumb_width, $thumb_height, $width, $height);
 imagejpeg($thumb, $newthumbname);
 imagedestroy($largeimage);
 imagedestroy($thumb);
 }
 //komunikat potwierdzajacy umiesczenie zdjecia i jego miniaturki na ftp
echo "<HR><font color=green>Zdjęcie zostalo prawidłowo wysłane i zostanie dołączone do galerii gminy ".$nazwa_gminy.".<BR> Dziękujemy.<BR><A HREF=dodaj_foto.php>Dodaj następne zdjęcie</A><HR></font>";
}else echo "<HR>Nie można skopiować!<HR>";

 

Znalazłem powód. Wina leży po stronie php, ktoru byl instalowany przez yuma, przezco nie miałem wpływu na kompilacje.

Niestety odbyło sie to z opcją --without-gd'.

 

Moje pytanie : moge jakoś to właczyć, czy doinstalować?

 

Ok mozna zamknac topic, donstalowalem gd i wszytsko smiga.

 

---------------

Nie pisz postów pod własnymi - korzystaj z przycisku "EDYTUJ" po postem.

Długie listingi umieszczaj między znacznikami [codebox][/codebox] a nie [code][/code]. Przeczytaj BBCode Help

WalDo

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...