1

次のコードをデバッグしようとしています。try and catchブロックを使用していますが、それでもエラーメッセージは表示されません。コードは5.3.8バージョンでは正常に機能していましたが、5.3.13にアップグレードすると機能しなくなりました。display_errors trueをオンにしましたが、エラーを取得できませんでした。「Webサイトにプログラミングエラーがあります」というメッセージが表示されます。何か提案があれば教えてください。

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 に答える