Avatar billede Asky Forsker
06. januar 2024 - 15:51 Der er 7 kommentarer og
1 løsning

fejl 500 ved flytning

Tit afprøver jeg mine php filer på mit private site.
Når jeg så flytter filerne til et andet webhotel  eller et andet sted på samme hotel får jeg fejl 500.
Det kan jeg ikke lige gennemskue
Avatar billede andrew Juniormester
06. januar 2024 - 16:12 #1
Hvordan ser din .htaccess-fil ud?
Avatar billede repox Seniormester
06. januar 2024 - 16:14 #2
Dit spørgsmål er jo meget overordnet. En fejl 500 indikerer en fejl på serveren, eksempelvis en stavefejl i dit script eller manglende rettidigheder.

Du kan jo enten slå fejlmeddelelser til, så du kan læse fejlene i browseren eller du kan kontrollere dine logs (hvis de er tilgængelige).
Avatar billede Asky Forsker
06. januar 2024 - 17:09 #3
#1 "Hvordan ser din .htaccess-fil ud?"
Den handlet om redirect fra HTTP til HTTPS

# Redirect http to https
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# END https redirect

#2 Derfor må der jo være en generel fejl, der opstår, når jeg flytter de samme filer?
Avatar billede repox Seniormester
06. januar 2024 - 17:25 #4
[quote]
Derfor må der jo være en generel fejl, der opstår, når jeg flytter de samme filer?
[/quote]

Uden flere detaljer, så er det ikke engang et kvalificeret gæt, om det er en generel fejl eller ej.

Lige nu har vi kun en statuskode at gå ud fra. Og det kan skyldes rigtigt mange ting. Vi har ingen kode, ingen oplysninger om serveren, PHP version eller noget som helst. Der er voldsomt mange ting der kan være problemet, når du flytter et script fra et sted til et andet - også selvom det er på samme server.
Avatar billede Asky Forsker
06. januar 2024 - 17:53 #5
PHP version er 8.2. Det er når en formular kalder en fil ved navn response.php
Filen er her:
<?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    use PHPMailer\PHPMailer\SMTP;
    require 'Exception.php';
    require 'PHPMailer.php';
    require 'SMTP.php';
    $mail = new PHPMailer(true);
try {
    //Server settings
  //$mail->SMTPDebug  = 2;                      //Enable verbose debug output
    $mail->isSMTP();                                            //Send using SMTP
    $mail->Host      = 'smtp.webhosting.dk';                    //Set the SMTP server to send through
    $mail->SMTPAuth = true;                                  //Enable SMTP authentication
    $mail->Username  = 'info@domæne.dk';
    $mail->Password  = "xxxxxx";    //SMTP username 
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;            //Enable implicit TLS encryption
    $mail->Port      = 25;      //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`

    function check_email($email) {
if((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
$host = explode('@', $email);
if(checkdnsrr($host[1].'.', 'MX') ) return TRUE;
if(checkdnsrr($host[1].'.', 'A') ) return TRUE;
if(checkdnsrr($host[1].'.', 'CNAME') ) return TRUE;
}
return FALSE;
}
function check_postnummer($postnummer) {
    // fjerner mellemrum
    $postnummer = preg_replace('/\s+/', '', $postnummer);
    return (preg_match ("/^\d{4}$/", $postnummer))? true : false;
    if (false($postnummer)) {  die ("Forkert indtastning."); }
}
function check_telefon($telefon) {
$telefon = preg_replace('/\s+/', '', $telefon);
  return (preg_match ("/^\d{8,10}$/", $telefon))? true : false;
  if (false($postnummer)) {  die ("Forkert indtastning."); }
}
$avalg = (isset($_POST['valg']) ? $_POST['valg'] : "");
    if(empty($avalg)){ die ("Tryk tilbage og marker et af felterne medlem/ikke medlem."); }
        $N = count($avalg);
    echo " ";
    foreach($avalg as $valg) {
        $string_valg.= $valg." ";
        echo " ";
    }   
$adag = (isset($_POST['dag']) ? $_POST['dag'] : "");
    if(empty($adag)){ die ("vælg deltagelse."); }
        $ndag = count($adag);
    echo " ";
      foreach($adag as $dag) {
        $string_dag.= $dag." ";
        echo " ";    }
$subject = ($_POST['subject']?? null);
$navn = ($_POST['navn']?? null);
$adresse = ($_POST['adresse']?? null);
$stilling= ($_POST['stilling']?? null);
$postnummer = ($_POST['postnummer']?? null);
$by = ($_POST['by'] ?? null);
$telefon = ($_POST['telefon']?? null);
$email = ($_POST['email']?? null);
$kommune = ($_POST['kommune']?? null); //Arbejdskommune
$skole= ($_POST['skole']?? null);//arbejdssted
$nummer = ($_POST['nummer']?? null);
$cvr = ($_POST['cvr']?? null);
$ean = ($_POST['ean']?? null);
//$brugerid = ($_POST['brugerid']?? null);
$bem = ($_POST['bem']?? null);
        //Content
$mail->Subject = 'Tilmelding';
    $mail -> CharSet = "UTF-8";   
$mail->Body    ="<html>
<head>
    <meta http-equiv='content-type' content='text/html; charset=utf-8'/>
<style type='text/css'>
#body{
font-family : Verdana, Tahoma, sans-serif;}
</style>
</head>
<body>
<h3>Hej ".$navn.", <br/>Tak for din ".$subject." <br/> Stilling: ".$stilling." <br/> Mail: ".$email."<br/> Adresse: ".$adresse. "<br/> Postnummer: ".$postnummer." By: ".$by."<br/> Tlf.: ".$telefon."<br/> Arbejdssted: ".$skole." <br/> Arbejdskommune: ".$kommune. "<br/>  Medlem/ikke : ".$string_valg." <br/>Deltagelse: ".$string_dag."<br/> CVR: ".$cvr. " EAN: ".$ean." <br/>  Bemærkninger:  " .$bem."<br/> Venlig hilsen</h3><br/><h1>Bibliodan</h1></body></html>";
//Recipients
  $mail->setFrom('info@domæne.dk', 'Tilmelding');
    $mail->addAddress('info@domæne.dk', 'Tilmelding');    //Add a recipient
    $mail -> addBCC($_POST['email']?? null);
    $mail->addReplyTo('info@domæne.dk', 'Information');     
    $mail->isHTML(true);
    $mail->SMTPAuth = true; // enable SMTP authentication
  $mail->send();
    echo "<H3>Tilmeldingen er blevet sendt af: ".$navn." <br/>
    Om lidt modtager du en email med alle oplysninger</h3>" ;
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
Avatar billede erikjacobsen Ekspert
06. januar 2024 - 22:31 #6
Find fejlbeskeden i loggen på serveren.
Avatar billede andrew Juniormester
06. januar 2024 - 22:55 #7
Hvis du ikke kan finde fejlbeskeden i loggen, så plejer jeg at smide en exit; ind i koden og rykke ned igennem koden, indtil fejlen melder sig.
Avatar billede Asky Forsker
07. januar 2024 - 13:38 #8
Nu må jeg med skam bekende, at jeg ikke har holdt nok øje med vigtige filer.
sær PHPMailer.php har det med at forsvinde ved kopiering.
Så da jeg fik tjekket at PHPmailer.php, SMTP.php og 'Exception.php alle var til stede, så var der ikke nogen fejl 500.
Desuden var der også gamle filer som class.phpmailer.php og classsmtp.php, der lige skulle slettes før de ikke kunne forstyrre.!
Ovenstående kode er også uden fejl!!
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

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