2012-06-08 66 views
1

我試圖調試下面的代碼。我正在使用try和catch塊,但它仍不顯示任何錯誤消息。代碼用於在5.3.8版本中正常工作,但在升級到5.3.13後停止工作。我打開display_errors爲true,但無法獲取錯誤。我收到「該網站有編程錯誤」消息。請讓我知道任何建議。嘗試使用openssl調試PHP代碼

error_reporting(-1); 
$conf['error_level'] = 2; 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 


    $SIZE = 32; 
    $IV_SIZE = 16; 
    $CIPHER = 'aes-256-ofb'; 
    try { 

     $secret = openssl_random_pseudo_bytes($SIZE); 
     } 
    catch (Exception $e) { 
      die ('Error occurred: ' . $e->getMessage()); 
     } 

    $iv = openssl_random_pseudo_bytes($IV_SIZE); 

    try { 

     $first = openssl_encrypt($_POST['first_name'], $CIPHER, $secret, FALSE, $iv); 
     } 
    catch (Exception $e) 
    { 
     die ('Error occurred: ' . $e->getMessage()); 
    } 

回答

-1

display_errors設置之前添加此行:

error_reporting(E_ALL); 

我的猜測是,這只是在前面的PHP版本的工作,但升級後破門。我不認爲開放的SSL庫會拋出異常,因此將它封裝在try/catch塊中將不會執行任何操作。

+1

'error_reporting(-1);'和'error_reporting(E_ALL);'做完全相同的事情。 – Steve