Elikkäs, on tällainen ongkelma että jos esim. avaan (php:llä) filun esim paikasta "/filu.txt" niin nyt se EI avaa sitä docrootista VAAN kovon rootista (d:\filu.txt)
Gr! Miten saan sen säädettyä että se avaa sen d:\apache group\apache\htdocs kansiosta? Php.iniä olen tässä puolisen tuntia selaillut enkä osaa....
Minulla on php.inin doc_root tyhjänä ja tiedostot avautuvat siitä kansiosta, jossa skripti on. Vika voi sinulla olla tosin apachen conffauksessa.
Meinaat varmaan ilman tota / edessä.
apassin conffifilu mokoma kirjoitti:
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "/usr/local/apache" will be interpreted by the
# server as "/usr/local/apache/logs/foo.log".
Elikkäs haluan estää tämän suoraan kovon roottiin pääsyn. Open_basedirrillä onnistuu. Njoh saiskos sitten tollaisen "/filu.txt" tyylisen ohjattua docroottiin?
Tuo pätkä ei taida päteä kuin apachen lokifilujen yms. määrittelyissä, sinuna tarkistaisin että siellä on määritelty tuo d:\apache group\apache\htdocs näihin kohtiin httpd.confissa:
# # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "d:\apache group\apache\htdocs"
# # This should be changed to whatever you set DocumentRoot to. # <Directory "d:\apache group\apache\htdocs">
Tempfile kirjoitti:
sinuna tarkistaisin että siellä on määritelty tuo d:\apache group\apache\htdocs näihin kohtiin httpd.confissa:
On siellä. Php.iniinkin koitin tunkea open_basedir = "d:\apache group\apache\htdocs" ja doc_root = "d:\apache group\apache\htdocs" muttei toimi... :( sen kuitenkin pystyy jotenkin tekeen noin, esim. mbnetissä se toimii.
Eikö toimi jos sekä open_basedir ja doc_root ovat tyhjiä?
jos koitat include('/xxx.php'); tämän pitää juurikin avata tiedoston d:n juuresta. Siksi scripteissä käytetään esimerkiksi tän tapasia d:/usr/tunnuksesi/xxx.php tai unix tyyliin /usr/tunnuksesi/xxx.php
Itselläni php.inissä
open_basedir = E:/sivut/
jos yritän tota aikasempaa include juttua, niin saan ilmoituksen, ettei ole oikeuksia, kun laitan e:/sivut/ eteen, niin toimii hyvin.
Jos Apachessa on määritelty virtuaali hosteja, niin itselläni määrityksissä on lisänä
php_admin_value open_basedir hakemisto
Jos tarkoituksesi on avata samassa hakemistossa oleva tiedosto, niin ota / merkki edestä pois, siis include('xxx.php');
Silloin kun itselläni oli tunnukset mbnettiin, suora viittaus /xxx.php ei toiminut.
Aihe on jo aika vanha, joten et voi enää vastata siihen.