04. september 2010 - 11:22Der er
9 kommentarer og 1 løsning
open_basedir restriction in effect
Hej alle
Jeg har en dedikerede server. Den kører med Apache og PHP.
Jeg får denne fejl ved nogle systemer: open_basedir restriction in effect. File(C:\Windows\Temp) is not within the allowed path(s): (C:\Storage\Web\)
I PHP.ini har jeg defineret denne: upload_tmp_dir = "C:\Windows\Temp"
Jeg har også prøvet med: C:\Windows\Temp\ C:/Windows/Temp C:\Storage\Web\common-tmp-dir\ osv osv osv
Jeg har genstartet Apache hver gang, men den skriver hele tiden blot "C:\Windows", når jeg laver en echo sys_get_temp_dir()
Er der nogle, som kan kaste lidt lys over det?
I Apache har jeg også prøvet - uden held - at skrive følgende (den sidste Directory-klamme er det det nye - de 2 første Directory-klammer har været der hele tiden):
## Maximize security on files: <Directory C:/> Order Deny,Allow Deny from all Options None AllowOverride None </Directory> <Directory C:/Storage/Web> Order Deny,Allow Deny from all Options None AllowOverride None </Directory>
<Directory C:/Windows/Temp> Order Deny,Allow Deny from all Options None AllowOverride None </Directory>
Har nu udkommenteret upoad_tmp_dir men sys_get_temp_dir() skriver stadig "C:\Windows\" efter en genstart.
Jeg har også slettet den sidste directory blok.
Hvordan kommer jeg videre herfra? Jeg har også prøvet at sætte upload_tmp_dir = "C:\Storage\upload" og har genstartet, men den siger stadig "C:\Windows\".
Dog hvis jeg laver en PHPINFO() og bladrer ned til upload_tmp_dir værdien så skriver den godt nok ovenstående angivede værdi.... hymm... hvorfor er der difference mellem hvad den ene funktion udskriver af værdi og hvad phpinfo skriver?
Jeg "løste det" midlertidigt for mine egne scripts ved blot at bruge ini_get() i stedet, men der er også systemer, som kun bruger sys_temp_dir() og der virker det så stadig ikke.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.