2017-07-27 89 views
0

當我使用直接互聯網(開放網絡)時,我的代碼正在工作。但是當我試圖使用專用網絡(我目前在我的公司使用),我得到這個錯誤。使用Nexmo發送短信,使用私人網絡時失敗

警告:在E中的foreach()提供的參數無效:\文件\ XAMPP \ XAMPP \ htdocs中\ nexmo的\ src \ NexmoMessage.php上線228

下面是我發送代碼消息..

<?php 

    include ("src/NexmoMessage.php"); 

    if(isset($_POST['sendMessage'])){ 
     $to = $_POST['to']; 
     $message = $_POST['smsMessage']; 

     // Step 1: Declare new NexmoMessage. 
     $nexmo_sms = new NexmoMessage('xxxxxxxx', 'xxxxxxxxx'); 
     // Step 2: Use sendText($to, $from, $message) method to send a message. 
     $info = $nexmo_sms->sendText($to, 'NexmoWorks', $message); 
     // Step 3: Display an overview of the message 
     //echo $nexmo_sms->displayOverview($info); 

     // Done! 
    } 
?> 

以下是代碼,我有一個錯誤。

 foreach($obj as $key => $val){ 
     // If we come across another class/array, normalise it 
     if ($val instanceof stdClass || is_array($val)) { 
      $val = $this->normaliseKeys($val); 
     } 

     // Replace any unwanted characters in they key name 
     if ($is_obj) { 
      $new_obj->{str_replace('-', '', $key)} = $val; 
     } else { 
      $new_obj[str_replace('-', '', $key)] = $val; 
     } 
    } 
+0

我是否正確地假設您使用了2臺不同的服務器?如果這樣error_reporting(php.net/error_reporting)可能默認爲兩個不同的值。 –

+0

請閱讀[在什麼情況下,我可以添加「緊急」或其他類似的短語到我的問題,以獲得更快的答案?](/ meta.stackoverflow.com/q/326569) - 總結是,這不是這是解決志願者問題的理想方式,可能會對獲得答案產生反作用。請不要將這添加到您的問題。 – halfer

+0

@PeterM我使用了兩個不同的網絡。一個是開放網絡或直接互聯網,另一個是我們公司內部使用的網絡,實際上我們必須在公司內使用我們的網絡來完成這項工作,但它失敗了,所以我嘗試使用直接互聯網要知道我的代碼或我們正在使用的互聯網有什麼問題.. – AllRight

回答

0

如何從公司內的私人網絡連接到互聯網?你必須指定一個代理服務器嗎?

+0

是的,我們必須指定一個代理服務器的互聯網接入,我認爲這是一個問題,但我不知道如何解決這個問題。因爲我們沒有訪問權限來更改我們使用的代理服務器..我不知道該怎麼做才能使我們的SMS在我們的公司網絡中發送工作 – AllRight

+0

請問您是否知道如何設置nexmo代理? – AllRight