Avatar billede jayetc Nybegynder
13. marts 2008 - 10:15 Der er 3 kommentarer

PHp functioner

Hej

Jeg kører en windows server 2003 IIS 6 med PHP 5 ISAPI.

Mit problem er kogt ned til dette eksempelt:

index1.php:
<?php
function test() { echo 'test'; }
test();
?>

index2.php
<?php
test();
?>

Okay. Hvis jeg starter med at kører index2.php så fejler den naturligt da functionen ikke findes.

Hvis jeg kører index1.php "en gang" så er alt perfekt, men hvis jeg så reloader får jeg følgende:
Fatal error: Cannot redeclare test() (previously declared in E:\Web\Solutions\bkbad.webcetera.dk\index3.php:3) in E:\Web\Solutions\bkbad.webcetera.dk\index3.php on line 3


Hvis jeg nu tilgengæld kører index2.php samt reloader så virker den fint, functionen "test()" ligger nu et sted i memory og jeg kan referer den fra alle sider. Jeg kan bare ikke kører en side hvor denne function bliver erklæret igen - Det er et problem!!!

Hvad sker der her, hvordan kan jeg gøre det mugligt for index1.php at blive kørt igen og igen uden problemer??

Venlig hilsen
Jacob
Avatar billede michael_stim Ekspert
13. marts 2008 - 10:26 #1
Kan du ikke bare lægge dine funktioner i en side for sig selv og kalde dem med:

require_once(funktioner.php);
eller
include_once(funktioner.php);
Avatar billede jayetc Nybegynder
13. marts 2008 - 10:34 #2
Nej har ikke selv kodet dette system, så det er ikke muligt at rette til i koden.

Dog har jeg lige testet det med mine simple eksempler og det giver samme problem. test() eksisterer et sted i memory.

Det er et issue på server niveau. Men eller tak for forslaget.

/ Jacob
Avatar billede repox Seniormester
13. marts 2008 - 14:09 #3
Ifølge http://www.php-editors.com/apache_manual/mod/mod_isapi.html er det tilsyneladende et ret kendt fænomæn.
[quote]
Some servers, like Microsoft IIS, load the ISAPI extension into the server and keep it loaded until memory usage is too high, or unless configuration options are specified.
[/quote]

Umiddelbart synes jeg at kunne forstå at problemet ligger i konfigurationen af IIS.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester