Includen werkt om een vage reden niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo tweakers,

Ik ben ten einde raad. Ik maak gebruik van een heel mooi fotosysteem van Phpweby. Daarin heb ik aanpassingen gemaakt zodat de foto's netjes openen in een Lightbox. Vervolgens wil ik het gehele script includen in een bestaande layout. Eitje! Nou er gaat dus iets goed mis. PHP is niet bepaald mijn 'moedertaal'
(:D) maar iets includen kon ik altijd nog wel.

Het gaat erom dat het script dat hier uitgevoerd wordt:
http://www.lordnelson.nl/test/phpweb/index.php

...in de volgende layout geïnclude moet worden:
http://www.lordnelson.nl/fotos1.php

code:
1
2
3
4
5
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
include('/test/phpweb/index.php');
?>


Geeft dan de volgende errors:
Warning: main(): open_basedir restriction in effect. File(/test/phpweb/index.php) is not within the allowed path(s): (/home/httpd/vhosts/lordnelson.nl/httpdocs:/tmp) in /home/httpd/vhosts/lordnelson.nl/httpdocs/fotos1.php on line 91

Warning: main(/test/phpweb/index.php): failed to open stream: Operation not permitted in /home/httpd/vhosts/lordnelson.nl/httpdocs/fotos1.php on line 91

Lijn 91 is de volgende regel van mijn include: include('/test/phpweb/index.php');

Ik vraag me ernstig af wat er niet goed gaat. Wie kan me hierbij helpen?

Alvast bedankt,
Wessel

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Het bestand staat op een plek waar PHP geen rechten heeft om hem te openen. Check je PHP/Apache installatie/config en je rechten op het bestandssysteem.

Acties:
  • 0 Henk 'm!

  • durkp
  • Registratie: Januari 2009
  • Laatst online: 18-09 20:04
al wat gespeeld met de / voor de link?

code:
1
include('test/phpweb/index.php');


ik zeg maar wat?

ik ben ook niet erg goed met php, maar wieweet

[ Voor 18% gewijzigd door durkp op 02-05-2009 16:44 ]


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Je probeert een pad te includen aan de hand van de URL, dat gaat natuurlijk niet werken. PHP weet de URL niet, PHP kan enkel in het bestandssysteem kijken.

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • thys
  • Registratie: December 2004
  • Laatst online: 19-09 15:42
De / aan het begin moet gewoon werken, daar zit het probleem niet. Het ligt aan de open_basedir restrictie zoals je ook in de foutmelding kunt zien. Open_basedir is een veiligheidsinstelling waarbij PHP alleen vanuit bepaalde mappen kan openen / includen. Je zult dus de configuratie van je PHP aan moeten passen of het te includen bestand in een andere map moeten plaatsen.

Allowed path: /home/httpd/vhosts/lordnelson.nl/httpdocs en /tmp
/test zit hier niet in en daarom wordt het bestand niet ingevoegd.

[ Voor 21% gewijzigd door thys op 02-05-2009 16:49 ]


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 20:47

BCC

Wat betreft de basedir restricties maakt nogal uit of php in ./test of /test aan het kijken is :)
Ik neem gezien de foutmelding dan ook aan dat hij ./test bedoelt ipv /test. De configuratie is waarschijnlijk van de hoster.

[ Voor 39% gewijzigd door BCC op 02-05-2009 16:50 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • thys
  • Registratie: December 2004
  • Laatst online: 19-09 15:42
BCC schreef op zaterdag 02 mei 2009 @ 16:50:
Wat betreft de basedir restricties maakt nogal uit of php in ./test of /test aan het kijken is :)
Ik neem gezien de foutmelding dan ook aan dat hij ./test bedoelt ipv /test. De configuratie is waarschijnlijk van de hoster.
Inderdaad, ik ging ervanuit dat de TS zijn bestanden ook echt in /test heeft staan en niet ./test.

Acties:
  • 0 Henk 'm!

  • frederikske
  • Registratie: Oktober 2002
  • Niet online
code:
1
2
3
4
5
<?php
...
include('/home/httpd/vhosts/lordnelson.nl/httpdocs/test/phpweb/index.php');
...
?>


Is maar een kleine gok.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat laatste had ik inderdaad ook nog geprobeerd, maar zonder succes.

Dit echter:
code:
1
2
3
4
<?php 
chdir('test/phpweb');
include('index.php');
?>


Werkt! Nu is wel mijn layout geruïneerd, maar dat komt gewoon omdat er verschillende stylesheets door elkaar heen lopen. Nu komt het wel goed! In ieder geval thanks voor de replies, en ik hoop dat anderen nog wat aan het stukje code hebben als ze tegen dezelfde problemen aanlopen.

Acties:
  • 0 Henk 'm!

  • RetroTycoon
  • Registratie: Juli 2008
  • Laatst online: 20-09 14:42
Verwijderd schreef op zaterdag 02 mei 2009 @ 17:24:
Dat laatste had ik inderdaad ook nog geprobeerd, maar zonder succes.

Dit echter:
PHP:
1
2
3
4
<?php 
chdir('test/phpweb');
include('index.php');
?>


Werkt! Nu is wel mijn layout geruïneerd, maar dat komt gewoon omdat er verschillende stylesheets door elkaar heen lopen. Nu komt het wel goed! In ieder geval thanks voor de replies, en ik hoop dat anderen nog wat aan het stukje code hebben als ze tegen dezelfde problemen aanlopen.
Als dit werkt, moet in principe als ik goed nadenk
PHP:
1
2
3
<?php 
include('test/phpweb/index.php');
?>

ook werken :)
Pagina: 1