Archief - PHP: open_basedir probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Tyfius

Legacy Member
Gisteren upgrade van PHP4 naar PHP5. Zelfde config settings gebruikt voor de virtualhosts.
Virtualhost setting:
Code:
php_admin_value open_basedir /srv/www/web1/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/
Probleem:
Code:
Warning: open_basedir restriction in effect. File is in wrong directory in Unknown on line 0
Gevolg is ook een fatal warning omdat men aan bepaalde files niet meer aankan.

Is hier iets speciaals veranderd tussen PHP4 en PHP5 ?
Zoja, wat kan een mogelijke oplossing zijn ?
Ik heb op google alleen softwarematige oplossingen gevonden voor wat scripts, of het uitschakelen van open_basedir, maar dat kan dus niet.

2de probleem:
Code:
html/
..includes/
....main.php
....db_connect.php
..index.php
Ik heb ook gemerkt dat een aantal sites hetvolgende doen: in main.php een include('db_connect.php'); Volgens de webmaster heeft dit altijd gewerkt. Nu als ik dat aanpas naar include('includes/db_connect.php'); werkt alles wel. (main.php wordt in index.php geinclude). Ikzelf heb altijd mijn includes opgesteld vanaf mijn basedir (html/ dus in dit geval) en stel mij de vraag of dit inderdaad zou werken. Werd ook opgemerkt na de upgrade naar PHP5. Kan dit dezelfde oorzaak hebben ?

Radiance

Legacy Member
Voor vraag 2 :
Nee, dat is zeker niet veranderd, ook in PHP4 werk je in de mappenstructuur steeds vanaf het pad naar de PHP file die in de browser geopend werd, niet vanaf het pad waar de included file staat.
Enige wat ik kan bedenken is dat jullie vroeger een instelling hadden als
include_path=".:./includes"
En dat nu beperkt is tot
include_path="."
Maar dat zou toch maar een vreemde manier van werken vinden, ik vermoed eerder dat uw webmaster in kwestie u blaaskes wijsmaakt. Altijd met een absoluut pad includen werkt uiteraard ook, maar is niet echt nodig, de aanpassing die je gedaan hebt is prima.

Hoewel ik er niet veel zie instaan dat op u van toepassing is, misschien zelf nog eens nalezen :
http://be.php.net/manual/en/migration5.php#migration5.changes
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan