webForumDet fria alternativet

Problem med flytt av sida till annat webhotell

PHP

7 svar · 607 visningar · startad av clovec

Medlem sedan dec. 200574 inlägg
Frågan#1

Hejsan!

Jag håller precis på att flytta över min kunds webbplats till hans webbhotell, men mail funktioner och sessioner fungerar inte på deras hotell. netit.se .

Jag undrar om någon vet varför, här är två länkar en till deras phpinfo(); och en till min.

Deras webhotell: http://www.gustafsmaskiner.se/phpinfo.php och mitt webhotell http://decoit.se/phpinfo.php

Tacksam för svar !

Medlem sedan dec. 200574 inlägg
#2

Ingen som har någon aning ?

Medlem sedan apr. 2008137 inlägg
#3

Den uppenbara skillnaden är förstås att ditt webbhotell kör linux men deras kör windows. Varför man får för sig att köra phphotell på windows fattar jag inte...
Det finns iaf skillnader i hur mail() funkar under windows resp linux. Sessionerna vet jag inte, men jag misstänker att den biten kan vara felkonfigurerad hos hotellet.

Medlem sedan dec. 200574 inlägg
#4

Ah jag vet inte iheller, men det går inte att ha med dom att göra. Det tog 1 månad att lägga upp en mysql databas !

Medlem sedan feb. 20034 441 inlägg
#5

Det här med sessioner under windows är väldigt speciellt och det är inte alls kul att mecka med, har gjort det ett par gånger.

Det beror hur som helst på att det by default saknas skrivrättigheter till sessionsmappen.
Så, kolla upp vilken mapp som används, nollställ mappens rättigheter och se till att PHP / IUSR_datornamn har fullständiga rättigheter hit.

Då kommer det fungera igen.

Angående mail() så behöver du nog bara ange vilken server och inloggningsuppgifter som ska användas. SENDMAIL som ofta används på Unix finns inte på Windows och anger man inte allt manuellt kommer det inte att fungera.

Medlem sedan dec. 200574 inlägg
#6

Tack för svaret. Men jag har lite följdfrågor.

Detta som du skriver, det är väll enbart sådan som hotellet kan göra ? Iaf med sessionerna. Antar att detta kommer göra att dom får lite huvudvärk :P

Angående mailen, om jag skall sätta rättigheterna, så ser mitt mail script ut som följer, om nu jag ska sätta uppgifterna så kanske ni kan hjälpa mig med hur jag skall utöka scriptet för att få det att fungera

<?php

# $EmailBody #    1 for text/plain, 2 for html/text
 
   	$email = $_POST['email1'] . "@" . $_POST['email2'] . "." . $_POST['email3'];
   $MailBody      = 2; 
 
   $MailContentType         = array(1 => 'text/plain', 2 => 'text/html');
 
   $OsType                    = array('WIN' => "\r\n",'MAC' => "\r");
   $MailSpaceing            = in_array(strtoupper(substr(PHP_OS,0,3)), $OsType) ? $OsType[strtoupper(substr(PHP_OS,0,3))] : "\n";
   
   $MailServerNamn            = $_SERVER['SERVER_NAME'];
   
   $MailTo                    = "info@decoit.se";
   $MailFrom                  = $email;
   $MailReplyTo              = $email;
   
   $MailToSubject             = $_POST['arende']; 
   $message = '<html><body><table border="0"><tr><td colspan="2" width="300">Frågeformulär ifyllt av ' . $_POST["foretag"] . '</td></tr>';
   $message .= '<tr><td>Telefon:</td><td>' . $_POST["tele"] . '</td></tr>';
  
   $message .= '<tr><td>Email:</td><td>' . $email . '</td></tr>';
   $message .= '<tr><td>Ärende:</td><td>' . $_POST["arende"] . '</td></tr>';
   $message .= '<tr><td colspan="2"><br/>Meddelande:</td></tr>';
  
   $message .= '<tr><td colspan="2">' . $_POST["medd"] . '</td></tr>';
   $message .= '</table></body></html>';
   $MailMessage  = $message;
             
   $MailHeader ='';   
   $MailHeader .= 'MIME-Version: 1.0' . $MailSpaceing;
      
   $MailHeader .= 'Content-type: '.$MailContentType[$MailBody].'; charset=UTF-8' . $MailSpaceing;
   $MailHeader .= 'From: '. $MailFrom. $MailSpaceing; 
   $MailHeader .= 'Reply-To: '.$MailReplyTo.' <'.$MailReplyTo.'>'. $MailSpaceing;
   $MailHeader .= 'Date: '.date('r'). $MailSpaceing;
   $MailHeader .= 'Message-ID: <'.date('YmdHis').'info@'.$MailServerNamn.'>'. $MailSpaceing; 
   $MailHeader .= 'X-Mailer: PHP/' . phpversion(). $MailSpaceing;
   $MailHeader .= 'X-MSMail-Priority: High'. $MailSpaceing;
   $MailHeader .= 'X-Priority: 1' . $MailSpaceing;
   $MailHeader .= 'Importance: High'.$MailSpaceing;
   
    $NewCustomerMailTo = mail($MailTo,  $MailToSubject, $MailMessage, $MailHeader);
	header("Location: index.php?klart");

?>
Medlem sedan feb. 20034 441 inlägg
#7

För att använda mail() på en windowsserver måste du använda SMTP (istället för SENDMAIL) och även ange din server -och dina inloggningsuppgifter.

Osäker på hur man gör på en windowsserver eftersom du inte kan redigera php.ini, men du kan säkert sätta dessa värden med PHP_INI_SET();

Annars kan jag rekommendera att du istället använder en tredjepartsprodukt, t.ex. phpMailer som jag själv använder på alla mina sajter.

Medlem sedan dec. 200574 inlägg
#8

Okej tack ska kolla lite på det, ska försöka gå in i deras och se vad jag kan göra. Men jag har inga SMTP inloggningsuppgifter eller något sådant

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)