Moi,
Pitäisi tehdä symboolinen linkki PHP:llä. Serverinä toimii Ubuntu ja siinä Apache.
Olen ymmärtänyt, että seuraavan PHP -komennon pitäisi tehdä symboolinen linkki:
symlink('/var/target/kuva.gif', '/var/www/temp/kuva.gif');
..mutta ei tee mun mielestäni mitään. Liittyykö noiden symbolisten linkkien tekoon PHP:llä jotain erikoista, mitä en tiedä?
Pitäiskö tolla symlink -komennolla suoritetun symboolisen linkin näkyä ihan samalla tavalla komentoriviltä käsin, kuin jos sen loisi esim. Linuxin ln -komennolla?
Luultavasti www-data -käyttäjällä (olettaen että on default) ei ole oikeuksia luoda symboolista linkkiä hakemistoihin.
Defaulttina toi joo. Tuota, mitä kaikkea mun pitäisi oikein tehdä?
Palvelin on siis oma.. ja php safe mode on myös pois päältä. Kattelin, ettei toi symlink toimi jos se ois päällä.
Toimiiko linkitys pienemmässä mittakaavassa, esim. a => b?
<?php symlink('a', 'b');
# ls -l lrwxrwxrwx 1 nimi users 1 Sep 17 22:21 b -> a
Laitoin PHP:hen virheilmoitukset päälle. Ja näemmä mulla ei ole oikeuksia tosiaankaan noihin kansioihin.. veikkaisin?
Warning: symlink() [function.symlink]: Permission denied in /var/www/testi.php on line 9
Yritän just säätää noita käyttäjiä / ryhmiä vähän kuntoon..
Joku voisi äkkiä sanoa, minkä prosessin buuttaan, kun olen muokannut noita käyttäjiä / ryhmiä.. jotta muutokset tulevat voimaan.
En viitsisi buutata koko serveriä, kun masiinaan ei ole fyysisesti nyt pääsyä (jos vielä hajoo buutatessa..)
Loggaat ulos ja takaisin sisään, eli www-datan tapauksessa kai käynnistät Apachen uudelleen.
No niin, nythän se toimiikin! Linkki syntyy, niinkuin halusinkin. Oli tosiaankin ongelmana vain noi oikat noihin kansioihin..
Kiitoksia.
Tässä samalla tulee vähän opeteltua tuota linuxiakin..
Hakemistojen oikeuksien muuttaminen ei edellytä kirjautumista mihinkään suuntaan. Vain käyttäjän tai ryhmien muuttaminen (esim. käyttäjän www-data lisääminen ryhmään admin (heh...)) vaatisi uudelleenkirjautumisen, jotta ryhmätiedot haettaisiin uudestaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.