Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:02 Der er 38 kommentarer og
1 løsning

2 spm vedr. installering!

Efter at jeg har opgraderet til PHP v4.3.4 synes jeg ikke rigtig session fungerer?
Nogen der kan hjælpe med det?

Jeg vil gerne kunne mails lokalt og mener at jeg engang satte SMTP i php.ini til mail.tele.dk, men jeg synes ikke det virker mere. Nogen der har en SMTP-adresse jeg kan bruge?
Avatar billede htm Nybegynder
14. februar 2004 - 16:07 #1
smtp.mail.dk ...

Hvad har du opgraderet fra?

bruger du $_SESSION['session_variable'] ??
Avatar billede htm Nybegynder
14. februar 2004 - 16:09 #2
Og du har sat session.save_path til en gyldig mappe i php.ini? (hvis du kører windows)
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:17 #3
Jeg har opgraderet fra v4.3.2.
Og min session.save...... ser således ud:

session.save_path = c:\windows\temp

SMTP-adressen fungerer, så nu er det kun session-problemet ;-)
Avatar billede htm Nybegynder
14. februar 2004 - 16:19 #4
Hvordan virker de ikke? Får du nogle fejl?

Har du noget kode?
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:23 #5
Jeg får ingen fejl eller noget!
Det virker underligt, for jeg har bare installeret det hele som jeg plejer og så prøver jeg lige at tjekke med nogle sider jeg har lavet, som fungerede før da jeg kørte version 4.3.2...

Forresten, SMTP-adressen fungerer heller ikke alligevel. Den sender ingen mails!!!
Det er noget underligt, for den kan sagtens vise PHP-sider og hente fra MySQL-DB osv...
Avatar billede htm Nybegynder
14. februar 2004 - 16:28 #6
Sikker på at du retter i den rigtige konfigurationsfil? lav en fil med

<?php
phpinfo();
?>

og tjek om "Configuration File (php.ini) Path" er den fil du retteri.

Og har du genstartet din webserver efter ændringer i php.ini ?
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:32 #7
Det er den fil jeg retter i og jeg har genstartet serveren!
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:33 #8
Er der nogen der ved der er lavet nogen drastiske ændringer i v4.3.4 i forhold til v4.3.2, således at man skal gøre mere når man installerer?
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:36 #9
Hvis jeg sammenligner min phpinfo på mit offentlige server og den på min lokale (hvor den ikke virker) så så de således ud:

lokal -------------------------------------

Session Support  enabled 
Registered save handlers  files user 

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path c:\windows\temp c:\windows\temp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

offentlig som fungerer ---------------------------------------

Session Support  enabled 
Registered save handlers  files user 

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid On On
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:36 #10
nogen der kan bruge det til noget?
Avatar billede htm Nybegynder
14. februar 2004 - 16:44 #11
Prøv og smid dette i en test.php:

<?php
session_start();
if (!isset($_SESSION['test']))
{
    $_SESSION['test'] = "ja";
    header("location: " . $_SERVER['PHP_SELF']);
}
else
{
    echo "Sessionen test indeholder : " . $_SESSION['test'];
}
?>

og kør den. Skriver den din session ud?

Hvis der står ja. Så prøv og vis noget kode. Får så vi virker session fint.
Avatar billede htm Nybegynder
14. februar 2004 - 16:46 #12
Der er ikke noget der er ændret fra php 4.3.2 til php 4.3.4 ang. sessions.
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:47 #13
Nu har jeg installeret v4.3.2 igen og nu virker SMTP fint, men stadig ikke sessions.
Det er underligt!

Prøver lige den test der!
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:49 #14
Ok, den skriver ja ud, som om det virker!

Men de alle mine sider som jeg tester med har altid virket! Så det er altså ikke koden som den er gal med der.
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 16:58 #15
Ok, nu har jeg haft installeret v4.3.4 2 gange og ignen af gangene fungerede SMTP.
Men hver gang med v4.3.2 fungerede det!

Så nu er det kun sessions.
Forstår bare ikke hvorfor det ikke fungerer! Det har altid fungeret.
Avatar billede htm Nybegynder
14. februar 2004 - 17:14 #16
Hvordan skal vi vide hvad der ikke fungerer når du ikke viser kodem? Det er jo ikke til at vide hvad man skal rette når man ikke ved hvilken kode der ikke virker...

Har du session_start() i toppen af alle sider?
Hvordan sætter du en session? Hvordan tildeler du den en værdi?
Hvordan læser du en session?
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:16 #17
Hvis jeg skal registrere session bruger jeg nedenstående kode:

$login = $login['id'];
session_register("login");

Det har altid fungeret og fungerer også på min offentlige server!
Men jeg fatter ikke hvorfor det ikke gør det efter at jeg har formateret min pc og installeret det hele som jeg plejer!
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:18 #18
Jeg har arbejdet med PHP og brugt session i flere år.
Det har altid fungeret. Både lokalt og offentligt.

Det er første gang jeg har dette problem efter en formatering.
Jeg har prøvet at installere det hele 5+ gange og nogle af gangene fulgt guiden på webcafe.dk, bare for at jeg ikke glemte noget!

Fatter intet af det :-(
Avatar billede htm Nybegynder
14. februar 2004 - 17:23 #19
Så er det fordi at du har register_global til off i din php.ini - jeg vil anbefale dig at lade den stå til off og kode om.

fra php.net:
If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

Altså sagt på en anden måde, i stedet for
$test = "tekst";
session_register("test")
bruger du
$_SESSION['test'] = "tekst":
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:24 #20
Hvis jeg skriver noget andet end:

c:\windows\temp som session.save_path

så brokker den sig IKKE. Det plejer den ellers at gøre?
Kan det hjælpe?
Avatar billede htm Nybegynder
14. februar 2004 - 17:24 #21
forøvrigt... register_global blev sat til off som standard fra version 4.2.0
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:25 #22
Jeg har altid haft register_global til off.
Og bruger også $_GET[], $_POST[], $_SESSION[] osv...
Avatar billede htm Nybegynder
14. februar 2004 - 17:26 #23
Men du bruger session_register? prøv og læs lidt om session på www.php.net/session
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:28 #24
Men jeg har jo altid brugt session_register. Og det fungerer også på min offentlige med PHP v4.3.2 hvor register_global er off.

Det er det jeg ikke fatter!

Og hvorfor brokker den sig ikke som normalt, hvis jeg giver den en mappe som ikke findes som save_path?
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:29 #25
Det link du viste mig fortæller også at der skal benyttes session_register()
Avatar billede htm Nybegynder
14. februar 2004 - 17:31 #26
Jeg kan ikke svare på hvorfor det virker fint. med mindre du fortæller hvordan din kode er...
Altså de ting jeg skrev i 14/02-2004 17:14:41

Ved ikke om den plejer at brokke sig over save_path, hvis den ikke eksisterer.

<?php
// Use of session_register() is deprecated
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>
fra: http://dk.php.net/manual/en/function.session-register.php
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:34 #27
Jeg bruger som sagt denne konde på min offentlige server med PHP v4.3.2 og register_global sat til off.

$login = $login['id'];
session_register("login");

Og det fungerer!

Det er ikke kun én side, men 7 størrere sider som fungerer fint, og som altid har fungerert både offentligt og lokalt.

Det er først nu efter en formatering, hvor jeg smækker PHP v4.3.2 (igen) at det ikke virker! Det er det som er underligt.
Avatar billede htm Nybegynder
14. februar 2004 - 17:35 #28
Prøv og læs min kommentar 14/02-2004 17:14:41 - og prøv og svar på alle de spørgsmål jeg spørger om.
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:35 #29
Ok, nu bruger jeg din kode og det fungerer!

Men fatter stadig hvad der er sket!
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:37 #30
Hvad bruger jeg så i stedet for session_unregister?
Avatar billede htm Nybegynder
14. februar 2004 - 17:39 #31
Som du også kan se på forsiden af session på php.net

Example 1. Registering a variable with $_SESSION.
Example 2. Unregistering a variable with $_SESSION and register_globals disabled.

så unregister er unset($_SESSION['sessionvar']);
Avatar billede sukos Juniormester
14. februar 2004 - 17:41 #32
Ja, hvis register_globals = On bruges session_unregister() og ellers, unset()

Bruger selv dette:

function sess_unset($var) {
if(ini_get('register_globals') == "") {
    unset($_SESSION[$var]);
    }else{
    session_unregister($var);
    }
}
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:41 #33
Ok, laver du et svar?
Avatar billede htm Nybegynder
14. februar 2004 - 17:42 #34
ok
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:48 #35
Hvis der er nogen som har en idé til hvad den oprindelige fejl kan være, er jeg stadig MEGET interesseret i den.

For der er åbenbart også problemer med min chat!

Det er godt nok underligt!
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 17:48 #36
For den har nemlig også altid brokket sig over forkert save_path, men det gør den heller ikke mere! :-| ???
Avatar billede htm Nybegynder
14. februar 2004 - 18:35 #37
Kører du på apache webserver?

Hvis ja og du ikke har installeret php som modul til apache, kan det måske være derfor at den ikke brokker sig.
Avatar billede wampiro-uha Nybegynder
14. februar 2004 - 19:01 #38
Det lyder måske dumt, men hvordan tjekker jeg om det er installeret korrekt?
Avatar billede htm Nybegynder
14. februar 2004 - 21:19 #39
i phpinfo() står der øverst "Server API " - her skulle der gerne stå apache hvis den er installeret som modul.
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