2017-03-20 3 views
0

J'ai un problème étrange, localement sur ma machine Windows tout fonctionne bien, mais quand je déploie mon application sur l'hébergement de quelque raison que je reçois erreur interne du serveur dans ce fonction, je ne vois pas de détails ou un message ce qui ne va pas, donc je suis un peu confus comment je dois gérer cela et comment je peux déboguer cela, quelqu'un avait des problèmes similaires?Sendgrid fonctionne localement, mais sur la production ne pas (Erreur interne du serveur)

<?php 
date_default_timezone_set('Etc/UTC'); 

require_once("sendgrid-php/sendgrid-php.php"); 

function sendRegistrationEmail($object) { 
    $message = file_get_contents('email/templates/RegistrationTemplate.html'); 

    $message = str_replace('%firstName%', $object['firstName'], $message); 
    $message = str_replace('%lastName%', $object['lastName'], $message); 
    $message = str_replace('%email%', $object['email'], $message); 
    $message = str_replace('%password%', $object['passwordHash'], $message); 
    //var_dump works here, but 
    $from = new SendGrid\Email(null, "[email protected]"); 
    //on this line it does not enter. 
    $subject = "Leben IN WÜRDE Account Created"; 
    $to = new SendGrid\Email(null, '[email protected]'); 
    $content = new SendGrid\Content("text/html", $message); 
    $mail = new SendGrid\Mail($from, $subject, $to, $content); 

    $apiKey = 'myKey'; 
    $sg = new \SendGrid($apiKey); 

    $response = $sg->client->mail()->send()->post($mail); 
    echo $response->statusCode(); 
} 
?> 
+0

Le travail requis sur le serveur? Le moyen le plus simple de vérifier ceci est de vérifier votre journal d'erreurs php - si les requis sont manquants, cela vous donnera une erreur explicite. – 0708

+0

Oui nécessite un travail, j'ai utilisé la méthode file_exist pour le vérifier et je deviens vrai comme résultat, donc il voit ce fichier. –

+0

Avez-vous autre chose dans votre journal des erreurs (sur le serveur)? Rien ne saute comme faux et j'espère que vos journaux auront plus d'informations! – 0708

Répondre

0

Vérifiez la version de PHP sur votre serveur (php -v). Pour ma meilleure compréhension, la fonctionnalité d'espace de noms a été ajoutée en PHP 5.3. Depuis que le script s'est cassé à la ligne où il utilise d'abord la fonction d'espace de nom ($ from = new SendGrid \ Email), c'est ce que je pense.

+0

Est-ce que cela et sa version 5.6 php. –