1

我正在尝试调试以下代码。我正在使用 try and catch 块,但它仍然没有显示任何错误消息。该代码过去在 5.3.8 版本中运行良好,但在升级到 5.3.13 后停止运行。我打开了 display_errors true 但无法得到错误。我收到“网站出现编程错误”消息。你能告诉我任何建议吗?

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());
    }
4

1 回答 1

-1

在设置 display_errors 之前添加这一行:

error_reporting(E_ALL);

我的猜测是它只是在早期的 php 版本中工作,但在升级后就坏了。我认为开放的 SSL 库不会抛出异常,因此将其包装在 try/catch 块中不会做任何事情。

于 2012-06-08T15:04:45.787 回答