2016-03-10 43 views
0
<?php 
define('PW_AUTH', '3x1x7MEguZSVIaUVHdBG4XXXXXXXXXXXXXXXXXXXXXXXXXXXxgfHPPAMqmX1VmYH5k6GFYo8n0QdmexUSQRWpvoFYwVACAnG'); 
define('PW_APPLICATION', '2XXFX-XXx7C'); 
define('PW_DEBUG', true); 

function pwCall($method, $data = array()) { 
    $url = 'https://cp.pushwoosh.com/json/1.3/' . $method; 
    $request = json_encode(['request' => $data]); 

    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate'); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request); 

    $response = curl_exec($ch); 
    $info = curl_getinfo($ch); 
    curl_close($ch); 

    if (defined('PW_DEBUG') && PW_DEBUG) { 
     print "[PW] request: $request\n"; 
     print "[PW] response: $response\n"; 
     print "[PW] info: " . print_r($info, true); 
    } 
} 
pwCall('createMessage', array(
        'application' => PW_APPLICATION, 
        'auth' => PW_AUTH, 
        'notifications' => array(
          array(
           'send_date' => 'now', 
           'content' => 'Send this content to user', 


) 
        ), 
      ) 
      ); 
    ?> 

PHP給錯誤是告訴我,有一個錯誤PHP上的000webhost

解析錯誤:語法錯誤,意想不到的 '[' 在/home/a5047433/public_html/pushtest.php,預計 ')'第8行

怎麼過,當我在一個PHP測試運行它,它說,它的確定,worrks預期任何身體知道是什麼問題

我在http://phpfiddle.org/測試此代碼和它的作品如預期

錯誤我正在流汗:解析錯誤:語法錯誤,意想不到的「[」,預計「)」 這是一個000的虛擬主機accoount 任何幫助是極大的讚賞感謝

+0

我猜''數據'變量的值是不正確的,但需要看到一個例子來驗證。 –

回答

3

是,短陣語法只是因爲PHP 5.4。 因此,請仔細檢查此VHost使用的是哪個php(只需將phpinfo放入其中)。

順便說一句,這是一個非常舊的版本;你應該儘快更新。

+0

最後一位的+1。不理解新數組語法的PHP版本都是結束命令,因此**在生產環境中運行非常危險**。如果你的虛擬主機仍然停留在PHP 5.3上,他們不是一個好主機。 – ceejayoz

+0

謝謝你的answear是否有可能寫出相同的東西,而不是一個簡短的數組 –

+0

當然:'['a'=> 3]'作爲數組('a'=> 3)' – capqch

-1

爲了逃脫這個錯誤,你需要的,如果陣列和在建築

array(
    'key' => 'value' 
) 
// don't use ['key' => 'value'] is not correct 
if(expression) { 
    // blablabla 
} else { 
    //blablabla 
} 
// don't use expression?'':'' 

如果使用全面建設編寫源代碼,編碼風格不缺你看到每個{}和各[]及以上符號,這很容易理解。如果你在團隊中工作,你的收銀員不理解你的代碼。

+1

'['key'=>'value']'在任何當前支持的PHP版本中都是完全正確的。 OP的虛擬主機正在運行一個危險且不受支持的PHP版本。 – ceejayoz

+0

@ceejayoz目前,但如果你不使用'[]'而不使用array(),你可以得到這個代碼'$ conf = [[['test'=> [['test'=>'blabla']] ]]]; isset($ CONF [0] [0] [ '測試'])? 'test':'test2'是不可讀的,不支持... – Naumov

+0

誰downvote請寫評論 – Naumov

相關問題