Ik gebruik op dit moment voor een stukje code 2 test servers. 1 op mijn werk en 1 die ik vanaf huis kan benaderen. op mijn werk draaien we php 5.1.x en de server die van huis te bereiken is op 5.0.4
btw vast even excuses voor de lange lap text
maar is imho beste manier even het hele plaatje te geven.
op beide servers heb ik de hoofdmap met daaronder een map classes. rechten staan gelijk.
de situatie is als volgt:
index.php:
class1.php
class2.php
tot nu toe allemaal geen enkel probleem op de server op mijn werk....
probleem op de server thuis. zodra ik dit daarop draai krijg ik de volgende fout meldingen:
echter als ik op die server in class1.php het verander naar require_once("./classes/class2.php") gaat het helemaal goed...
wat kan ik doen aan de code(zonder aanpassingen op de php server, die rechten heb ik helaas niet) om te zorgen dat ik die class eventueel ook vanuit een andere folder kan draaien? als ik nu die files verplaats van classes naar een andere folder moet ik ineens de source van die files aan gaan passen en dat schiet totaal niet op. het gaat hier ook niet om 1 enkele class zoals dit voorbeeldje maar best een flinke berg.
btw vast even excuses voor de lange lap text
op beide servers heb ik de hoofdmap met daaronder een map classes. rechten staan gelijk.
de situatie is als volgt:
code:
1
2
3
4
5
| /root
index.php
/classes
class1.php
class2.php |
index.php:
PHP:
1
2
3
| <?php require_once("./classes/class1.php"); ?> |
class1.php
PHP:
1
2
3
4
5
6
7
8
| <?php require_once("class2.php"); class class1 extends class2 { } ?> |
class2.php
PHP:
1
2
3
4
5
6
| <?php class class2 { } ?> |
tot nu toe allemaal geen enkel probleem op de server op mijn werk....
probleem op de server thuis. zodra ik dit daarop draai krijg ik de volgende fout meldingen:
code:
1
2
3
4
5
| Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/share/pear/Table.php) is not within the allowed path(s): (/var/www/vhosts/raceeend.net/httpdocs:/tmp) in /var/www/vhosts/raceeend.net/httpdocs/casema/csotoolmir/classes/TableShowAll.php on line 3 Warning: main(Table.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/raceeend.net/httpdocs/casema/csotoolmir/classes/TableShowAll.php on line 3 Fatal error: main() [function.require]: Failed opening required 'Table.php' (include_path='.:/usr/share/pear') in /var/www/vhosts/raceeend.net/httpdocs/casema/csotoolmir/classes/TableShowAll.php on line 3 |
echter als ik op die server in class1.php het verander naar require_once("./classes/class2.php") gaat het helemaal goed...
wat kan ik doen aan de code(zonder aanpassingen op de php server, die rechten heb ik helaas niet) om te zorgen dat ik die class eventueel ook vanuit een andere folder kan draaien? als ik nu die files verplaats van classes naar een andere folder moet ik ineens de source van die files aan gaan passen en dat schiet totaal niet op. het gaat hier ook niet om 1 enkele class zoals dit voorbeeldje maar best een flinke berg.