2017-03-20 13 views
0

私の奇妙な問題は、Windowsマシン上ではすべて正常に動作しますが、何らかの理由でホスティングにアプリケーションをデプロイすると、私はちょっと混乱しています。これをどのように処理すべきか、どうやってこれをデバッグすることができますか、誰も似たような問題を抱えていましたか?Sendgridはローカルで動作しますが、実際には動作しません(内部サーバエラー)

<?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

サーバーで作業が必要ですか?これをチェックする最も簡単な方法は、あなたのPHPエラーログをチェックすることです - 必要がない場合は、明示的なエラーが表示されます。 – 0708

+0

はい仕事が必要です、私はそれをチェックアウトするためにfile_existメソッドを使用し、結果として真になるので、そのファイルが見えます。 –

+0

エラーログに(サーバー上の)何か他のものがありますか?何も間違っているから飛び降りることはありません。私はあなたのログにいくつかの情報があることを望んでいます! – 0708

答えて

0

サーバ(php -v)のPHPバージョンを確認してください。名前空間機能はPHP 5.3で追加されました。スクリプトは、最初に名前空間機能($ from = new SendGrid \ Email)を使用する行でブレークするので、それは私の考えです。

+0

これとその5.6 phpのバージョンでしたか? –

関連する問題