• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Serwer, linux, localhost, PHP]Jak ustawić chmod?

Object Storage Arubacloud
+1 głos
657 wizyt
pytanie zadane 21 czerwca 2015 w PHP przez krecik1334 Maniak (58,390 p.)

Mam skrypt w PHP dodający pliki do określonego folderu. Pokaże wam błędy jakie sie wyświetlają:

Warning: move_uploaded_file(zdjecia/1434882448_82308_0.jpg): failed to open stream: Permission denied in /opt/lampp/htdocs/insert.php on line 70

Warning: move_uploaded_file(): Unable to move '/opt/lampp/temp/phpQHmDdX' to 'zdjecia/1434882448_82308_0.jpg' in /opt/lampp/htdocs/insert.php on line 70

Warning: move_uploaded_file(zdjecia/1434882448_82308_1.jpg): failed to open stream: Permission denied in /opt/lampp/htdocs/insert.php on line 70

Warning: move_uploaded_file(): Unable to move '/opt/lampp/temp/phpkz7vSL' to 'zdjecia/1434882448_82308_1.jpg' in /opt/lampp/htdocs/insert.php on line 70

Warning: move_uploaded_file(zdjecia/1434882448_82308_2.png): failed to open stream: Permission denied in /opt/lampp/htdocs/insert.php on line 70

Warning: move_uploaded_file(): Unable to move '/opt/lampp/temp/phpQeDtxA' to 'zdjecia/1434882448_82308_2.png' in /opt/lampp/htdocs/insert.php on line 70

Prawdopodobnie to wszystko przez niepoprawny chmod(). Wiem jak to ustawić, ale jak ustawiam w PHP to permission denied. A więc to konfiguracja linuxa. Jako że ja w linuxach i serwerach jestem dość zielony (od niedawna używam pingwina), to nie mam też zielonego pojęcia jak ustawić chmod. Mam pakiet LAMPP, wersja chyba 5.6.8. System elementaryOS (Ubuntu 14.04). Napiszcie jak ustawić ten chmod żeby mógł zrobic zapis w folderze localhost/zdjęcia.

1 odpowiedź

+4 głosów
odpowiedź 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
wybrane 21 czerwca 2015 przez krecik1334
 
Najlepsza

Użytkownik apacha (na Debianie to będzie www-data), powinien mieć prawa zapisu do folderu, do którego przenosisz pliki. Albo najlepiej chyba by było zrobić go właścicielem tego folderu, czyli: 

sudo chown www-data nazwa_folderu

Edit:
Żeby sprawdzić jak u Ciebie nazywa się ten użytkownik możesz zrobić:

ps auxf | grep [a]pache

 

komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)
Warning: chmod(): Operation not permitted in /opt/lampp/htdocs/insert.php on line 36

 

komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
W terminalu to zrób. xd Wystarczy, że raz ustawisz - nie potrzeba Ci do tego jakichś skryptów.
komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)
Zrobiłem w terminalu. I po tym użyłem w PHP skryptu żeby nadać uprawnienia. I nadal ten sam błąd. A nazwę użytkownika apache mam "root".
komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)

A mógłbyś pokazać?

ls -all

Z miejsca, w którym siedzi folder, do którego chcesz przenieść plik.

komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)
total 8
drwxr-xr-x 2 root root 4096 cze 21 12:03 .
drwxr-xr-x 4 root root 4096 cze 21 12:04 ..
komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
Folder wyżej miałem na myśli. xd
komentarz 21 czerwca 2015 przez efiku Szeryf (75,160 p.)
sudo chown www-data /opt/lampp/htdocs
cd /opt/lampp/htdocs
sudo setfacl -R -m u:"www-data":rwX -m u:`whoami`:rwX zdjecia
sudo setfacl -dR -m u:"www-data":rwX -m u:`whoami`:rwX zdjecia

Syntax patrz, jakie htdocs ma prawa. Ktoś tu pracuje na roocie ? :D

komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
hahaha xd no ale przyznaj, że jak grzebiesz w konfigach to warto sobie jednak su odpalić na chwile niż wpisywać sudo przed każdym poleceniem. :P "sudo vim, sudo service, sudo vim, sudo service" i tak w kółko xd unikajmy redundancji :D
komentarz 21 czerwca 2015 przez efiku Szeryf (75,160 p.)

Tak, jeśli wiesz co robisz, ale zaufaj. Jako SysAdmin będziesz dziękować na kolanach za polecenie sudo ;) Ja to bym proponował Vagranta i tam phpeka konfigurować:) Syntax, zobacz ten link

A i "/opt/lampp/temp" powinien też mieć : sudo chmod 777 .

komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
Tak tak, to jest na mojej liście rzeczy do opanowania. Ale po Symfony i OOP PHP na poziomie przyzwoitym.
komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)
A na mojej liście rzeczy do opanowania jest w końcu zrobić zebym mogl testować ten skrypt. I żadne nadawanie uprawnień z poziomu konsoli nie pomaga.
komentarz 21 czerwca 2015 przez SyntaxError Pasjonat (17,170 p.)
chmod 777 na folder, do którego lecą pliki powinien działać na 100% bez względu przez kogo jest odpalany apache.
komentarz 21 czerwca 2015 przez efiku Szeryf (75,160 p.)

no to walnij sudo chmod 777 -R /opt/lampp/htdocs i  sudo chmod 777 /opt/lampp/temp

i powiedz co zwraca : ls -al /opt/lampp i ls -al /opt/lampp/htdocs ;>

wrzuć rezultat na http://pastebin.com/

+

sudo setfacl -R -m u:"www-data":rwX -m u:`whoami`:rwX /opt/lampp/temp
sudo setfacl -dR -m u:"www-data":rwX -m u:`whoami`:rwX /opt/lampp/temp
komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)
Działa po daniu chmoda 777 na 2 foldery - htdocs i zdjęcia. Problem solved.
komentarz 21 czerwca 2015 przez efiku Szeryf (75,160 p.)
Więc syntaxowi należy się naj :) Powodzenia w kodowaniu!
komentarz 21 czerwca 2015 przez krecik1334 Maniak (58,390 p.)

Tak też zrobię.

Podobne pytania

0 głosów
3 odpowiedzi 911 wizyt
pytanie zadane 11 października 2015 w PHP przez 0xf Dyskutant (8,180 p.)
0 głosów
1 odpowiedź 176 wizyt
pytanie zadane 6 maja 2021 w PHP przez TheDarkSide Użytkownik (930 p.)
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 1 listopada 2019 w PHP przez Pytam_PL Użytkownik (520 p.)

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...