Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 30-11 20:54
Beste Tweakers,

Ik heb een een webserver die geïnstalleerd is met Apache in combinatie met MySQL en PHP 5.3. op deze webserver zitten verschillende domeinen met elk hun optionele subdomeinen. De domeinen en subdomeinen regel ik via de httpd-vhosts.conf.

code:
1
2
3
4
5
6
7
8
<VirtualHost *:80>
    ServerName              website.nl
    ServerAlias                 website.nl
    DirectoryIndex              index.php index.html
    DocumentRoot                "D:/Web/website.nl/_website/htdocs/webroot/"
    ErrorLog                    "D:/Web/website.nl/_website/logs/website.nl-error.log"
    CustomLog               "D:/Web/website.nl/_website/logs/website.nl-access.log" common
</VirtualHost>


Omdat er meerdere domeinen op de webserver staan wil ik dat elk PHP in dat domein alle rechten heeft maar niet daarbuiten. Ik had het onderstaande gevonden om toe te voegen aan de httpd-vhosts.conf bij elke domein:

code:
1
php_admin_value open_basedir    "D:/Web/website.nl/_website/htdocs/"


Nu werkt dit de ene keer wel en wanneer ik refresh dan krijg ik een PHP error:
code:
1
2
3
4
5
Warning: Unknown: open_basedir restriction in effect. File(D:\Web\website.nl\_website\htdocs\webroot\index.php) is not within the allowed path(s): (p.&#8212;&#8230; ) in Unknown on line 0

Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0

Fatal error: Unknown: Failed opening required 'D:/Web/website.nl/_website/htdocs/webroot/index.php' (include_path='.;C:\php5\pear') in Unknown on line 0


Wat ik zelf denk is dat de sessies en alle andere temp files door PHP geschreven en opgehaald moeten worden. En dat deze dus buiten de open_basedir vallen. Maar ik kan daar niets over vinden. Nogmaals, de ene keer werkt de website wel en refresh je dan is de kans aanwezig dat deze de bovenstaande error weer weergeeft.

Heeft iemand enig idee waar dit aan kan liggen en hoe ik dat kan oplossen? :)

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 30-11 20:54
Inmiddels heb ik de temp folder van PHP ook toegevoegd:
code:
1
php_admin_value open_basedir     "D:/Web/website.nl/_website/htdocs;C:/Program Files (x86)/php/tmp"


Nu krijg ik geen foutmeldingen meer op de website, echter gaat PHPMyAdmin nu raar doen. Krijg zo nu en dan ook weer dezelfde foutmelding daar en er worden verbindingen geïnitialiseerd.

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 30-11 20:54
Is er dan niemand die hier iets over weet?

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 01:34

Firesphere

Yoshis before Hoshis

phpmyadmin staat niet in je htdocs, dus die dient ook zijn eigen open basedir te krijgen. Hetzelfde geldt voor andere externe php-programma's die je eventueel installeert. Allemaal hebben ze een eigen basedir die open moet staan voor php.

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!