Onkohan tätä kysytty jo tuhat kertaa täällä..
Siis mistä toi mbnetin php include oikein hakee tiedostoa?
Oletetaan että mulla on mbnetissä sivut osoitteessa http://koti.mbnet.fi/munsivu/
Sitten mulla on joka sivulla menu jota en tietenkään kirjoita joka sivulle vaan käytän phpincludea.
Mulla on tämä menu (joka on hakemistossa /txt sivulla menu.php
elikkä siis http://koti.mbnet.fi/munsivu/txt/menu.php
php include toimii oikein hyvin suhteellisella osoituksella jostain alihakemistosta, esim.:
Mutta kun haluan että include hakee aina oman hakemistoni alusta. Silloinhan pitäisi toimia kun laittaa:
Eikös tuo juuri viittaa käyttäjän "munsivu" -juureen (kuten unixissa pitäis)?
Serveri antaa vastaukseksi:
Warning: main() [function.main]: open_basedir restriction in effect. File(/php/includes/txt/menu.php) is not within the allowed path(s): (.) in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main(txt/menu.php) [function.main]: failed to create stream: Operation not permitted in /mbnet/o/munsivu/osoitetesti4.phpon line 21
Warning: main() [function.main]: open_basedir restriction in effect. File(/php/includes/txt/menu.php) is not within the allowed path(s): (.) in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main(txt/menu.php) [function.main]: failed to create stream: Operation not permitted in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main() [function.main]: Failed opening 'txt/menu.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /mbnet/o/munsivu/osoitetesti.php on line 21
Miks se hakee sitä includoitavaa tiedostoa hakemistoista /php/includes ja /usr/share/php ?
Enhän mä edes pääse tuollaisiin hakemistoihin käsiksi.
Kysymys siis ihan yksinkertaisesti:
Millainen sisältö seuraavassa pitäisi olla lainausmerkkien sisällä jos haluan includoida tiedoston "menu.php" joka sijaitsee hakemistossa "http://koti.mbnet.fi/munsivu/txt/ ?
Tämä haku tehdään n:nännessä alihakemistossa (eli ei voida käyttää merkintätapaa ../../../txt/menu.php ).
Siis mistä toi mbnetin php include oikein hakee tiedostoa?
Oletetaan että mulla on mbnetissä sivut osoitteessa http://koti.mbnet.fi/munsivu/
Sitten mulla on joka sivulla menu jota en tietenkään kirjoita joka sivulle vaan käytän phpincludea.
Mulla on tämä menu (joka on hakemistossa /txt sivulla menu.php
elikkä siis http://koti.mbnet.fi/munsivu/txt/menu.php
php include toimii oikein hyvin suhteellisella osoituksella jostain alihakemistosta, esim.:
Mutta kun haluan että include hakee aina oman hakemistoni alusta. Silloinhan pitäisi toimia kun laittaa:
Eikös tuo juuri viittaa käyttäjän "munsivu" -juureen (kuten unixissa pitäis)?
Serveri antaa vastaukseksi:
Warning: main() [function.main]: open_basedir restriction in effect. File(/php/includes/txt/menu.php) is not within the allowed path(s): (.) in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main(txt/menu.php) [function.main]: failed to create stream: Operation not permitted in /mbnet/o/munsivu/osoitetesti4.phpon line 21
Warning: main() [function.main]: open_basedir restriction in effect. File(/php/includes/txt/menu.php) is not within the allowed path(s): (.) in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main(txt/menu.php) [function.main]: failed to create stream: Operation not permitted in /mbnet/o/munsivu/osoitetesti.php on line 21
Warning: main() [function.main]: Failed opening 'txt/menu.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /mbnet/o/munsivu/osoitetesti.php on line 21
Miks se hakee sitä includoitavaa tiedostoa hakemistoista /php/includes ja /usr/share/php ?
Enhän mä edes pääse tuollaisiin hakemistoihin käsiksi.
Kysymys siis ihan yksinkertaisesti:
Millainen sisältö seuraavassa pitäisi olla lainausmerkkien sisällä jos haluan includoida tiedoston "menu.php" joka sijaitsee hakemistossa "http://koti.mbnet.fi/munsivu/txt/ ?
Tämä haku tehdään n:nännessä alihakemistossa (eli ei voida käyttää merkintätapaa ../../../txt/menu.php ).
Vastaukset 2
Vanhimmat
"Warning: main() [function.main]: Failed opening 'txt/menu.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /mbnet/o/munsivu/osoitetesti.php on line 21"
Noinhan se meni. Löysin ratkaisun jo itsekin mbnetin ohjeista SSI-osastosta.
Kiitti kuitenkin nopeasta vastauksesta.
Niin paitsi että se on tietenkin /mbnet/m/munsivu/txt/menu.php (eikä o/munsivu:)
Ihmettelinkin vähän tuota o-hakemistoa mutta se onkin mbnetin käytäntö (kopsasin osoitteen ja muuten käyttäjänimeni joka oikeasti alkaa o:lla)