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:
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:
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:
is de relevante code van smartydemo\index.php
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."