Synology-Forum.nl

Overige software => Web Station => Topic gestart door: CYM op 24 juli 2017, 00:06:09

Titel: Open_basedir werkt niet
Bericht door: CYM op 24 juli 2017, 00:06:09
Wie kan mij helpen?

Ik probeer dmv een PHP-script een map uit de map >photo< uit te lezen.
Ik heb de map >:/volume2/photo/uploads/uit te lezen map< toegevoegd in de PHP Open_basedir bij Web Station.
Maar dit werkt dus niet. Er worden geen bestanden gevonden terwijl deze er wel staan.

de huidige Open_basedir:
/volume2/web/cron/:/tmp:/var/services/tmp:/var/services/web:/volume2/photo/uploads/uit te lezen map

Als ik de map en bestanden verplaats naar de >web< map, werkt het wel.
Kan iemand me helpen wat ik fout doe?

Titel: Re: Open_basedir werkt niet
Bericht door: dvandonkelaar op 24 juli 2017, 07:00:52
Heeft de map in de foto map wel de goede rechten?
Volgens mij moet je http users rechten geven, weet ik niet exact. Als de web map wel werkt kun je de rechten van de users met de photo map vergelijken, misschien lost dat het probleem op.
Titel: Re: Open_basedir werkt niet
Bericht door: CYM op 24 juli 2017, 13:47:39
Bedankt voor je reactie, maar ik kan de machtigingen van de standaard map >photo< niet aanpassen naar >http users< toch?


[attachimg=1]
Titel: Re: Open_basedir werkt niet
Bericht door: dvandonkelaar op 24 juli 2017, 13:52:12
Dat klopt, dat wordt binnen Photo Station geregeld.
Zelf gebruik ik geen Photo Station, dus ik weet niet of het daarin te regelen is. Wellicht dat het via SSH te overrulen is maar dat is niet aan te raden, dat kan bij een reboot weer teruggezet worden.
Titel: Re: Open_basedir werkt niet
Bericht door: Wyodor op 24 juli 2017, 14:02:18
Maak in de web map een symbolic link aan naar Photo.

Zie ook dit topic :

https://www.synology-forum.nl/photo-station-blog/foto-vanuit-photo-station-delen-op-fora-kan-dat-eigenlijk/msg226970/#msg226970

Aanvulling :

Kwam in een php bestand dat ik voor dat doel gebruik, dit commentaar tegen

// een dir() werkt alleen met symlinks naar
// photo in user directory, niet naar photo in root
Titel: Re: Open_basedir werkt niet
Bericht door: dvandonkelaar op 24 juli 2017, 14:05:06
Kijk daar wel mee uit, want wat daar ook staat aangegeven is:
Het enige nadeel van rechtstreeks plaatsen in een webmap, is dat iedereen het laatste deel van de url kan weglaten en hij ziet dan alle plaatjes in die folder.
Titel: Re: Open_basedir werkt niet
Bericht door: Wyodor op 24 juli 2017, 14:06:56
Lees mijn reactie daarop.
Titel: Re: Open_basedir werkt niet
Bericht door: CYM op 24 juli 2017, 14:11:58
Ik kan inderdaad in Photo zelf desbetreffende map http rechten geven.
Hierbij worden de bestanden gevonden dmv de php-functie.

[attach=1]

Echter wil ik de exif_data gegevens uit de foto's halen, MAAR DIT WERKT DUS NIET.  :'(
Het vreemde is dat het script goed is, want ik heb deze eerder gebruikt door alleen de Open_basedir aan te passen.
Dit was ook in DSM 6. Het moet dus kunnen ......

Ik zal de symbolic link van @Wyodor vanavond eens proberen.
Titel: Re: Open_basedir werkt niet
Bericht door: CYM op 24 juli 2017, 18:57:59
ik wil eigenlijk "gewoon een kopie in een folder op de web-share" maken zoals @Briolet daar aangeeft maken.
https://www.synology-forum.nl/photo-station-blog/foto-vanuit-photo-station-delen-op-fora-kan-dat-eigenlijk/msg226975/#msg226975 (https://www.synology-forum.nl/photo-station-blog/foto-vanuit-photo-station-delen-op-fora-kan-dat-eigenlijk/msg226975/#msg226975)

Iemand een idee wat hiermee bedoeld wordt en hoe ik dat moet doen?

Ik heb geprobeerd een map te maken in >web< en deze te koppelen aan de >photo< map, maar dat lukt alleen met een externe map. :'(

Ik ben niet bang dat de gehele map zichtbaar wordt wand dat deel zit achter een inlog.
Het moet wel mogelijk zijn om de exif_data uit de foto's te halen.
Titel: Re: Open_basedir werkt niet
Bericht door: Wyodor op 25 juli 2017, 12:55:25
Ik heb :/var/services/photo toegevoegd aan open_basedir.

Omdat het eerder met PHP 5 niet lukte, gebruikte ik de photo map van de gebruiker zonder open_basedir. Met PHP 7 lukt het nu wel.

Kan nu met path namen informatie van de afbeeldingen ophalen, zoals met de PHP functies dir(), getimagesize(), output_iptc_data() en exif_read_data().

Om afbeeldingen in een webpagina te tonen moet je een symbolic link naar de photo map maken. Zie eerdere uitleg.

Bovenstaande kan je ongetwijfeld ook toepassen op andere mappen op de NAS.