[PHP] hoe werkt include_path in php.ini?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Sinds een paar dagen ben ik met PHP in de weer in plaats van ASP. Dus gedownload, geinstalleerd en samen met mySQL draait alles inmiddels.

Echter: ik krijg vaak een error in de zin van:

code:
1
2
3
4
Fatal error: Failed opening required '../libs/Smarty.class.php' 
(include_path='.;d:\php\includes') in 
d:\inetpub\wwwroot\php\smartydemo\index.php 
on line 3


Je ziet: deze maal krijg ik de include_path error bij het demo-draaien van de Samrty template engine. Nu heb ik de docs die bij Smarty komen goed gelezen. Er staat:

"copy the files under the libs/ directory to a directory that is in your PHP include_path"

Nu het relevante deel uit mijn php.ini:

code:
1
2
3
4
5
6
7
8
9
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"  
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = ".;d:\php\includes"


Vervolgens heb ik de folder d:\php\includes\libs\ aangemaakt en daarin Smarty.class.php geplaatst. Toch krijg ik bovenstaande error.

Wat doe ik verkeerd? Hoe is de werking van include_path? Ik neem aan dat het slechts een verwijzing is naar een willekeurige folder met lees- en schrijfrechten waar php-classes in gezet kunnen worden? Toen ik PHP geinstalleerd had, had de windows-installer geen \includes folder op mijn HD aangemaakt; dat heb ik later zelf gedaan, maar dat kan toch het probleem niet zijn?

Voor de volledigheid:

PHP:
1
2
3
require '../libs/Smarty.class.php';

...


is de relevante code van smartydemo\index.php

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Acties:
  • 0 Henk 'm!

Verwijderd

zet hem gewoon in je htdocs dir...

Acties:
  • 0 Henk 'm!

  • MadMan81
  • Registratie: April 2000
  • Laatst online: 31-08 22:46
het include path bij jou is: 'd:\php\includes'
vervolgens zeg je '../libs/Smarty.class.php'
door die '..' ga je naar een bovenliggende dir, dus hij gaat zoeken naar:

d:\php\lib\Smarty.class.php

Cupra Born


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
...je hebt gelijk MadMan81! Wat waanzinnig dom van me...omdat ik met PHP bezig ben, denk ik ineens dat alles mysterieus anders in elkaar zit dan bij ASP. Gekke ikke...dank je!

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."