SORU
25 Mart 2011, Cuma


Tüm hataları gösteren ve uyarılar

GÜNCELLEME 2:

Şimdi aşağıdaki kaldırdık .php dosyası:

<?php error_reporting( E_ALL ); ?>

Php set display_erros var.aşağıdaki gibidir: ını

= bu yönergeye

hata raporlama php içinde aşağıdaki gibi ayarlanır.ını

= error_reporting E_ALL | E_STRİCT

Apache yeniden başlattıktan sonra, hala uyarılar/hatalar.

GÜNCELLEME 1:

Php error_reporting değiştirdim.gelen ını:

error_reporting = E_ALL & ~E_DEPRECATED

için

= error_reporting E_ALL | E_STRİCT

Sonra, örneğin, apache yeniden başlatılır

/etc/init./apache2 restart d

Ama sayfa hala herhangi bir uyarı/hata görüntülenmez.

ORİJİNAL SORU:

Aşağıdaki script içinde eğer deyim olmaktan err $için bir uyarı oluşturuyor. Neden bu uyarı bir web tarayıcısında php sayfasında görüntülenen değil mi? Apache bakmak için Uyarı görmek için günlükleri var. Ben de delibarately "" "php bir hata görüntülenmez sayfa. içine silmek için" Ekle değiştir Neden hataları gerçek php sayfası görüntüleniyor değil mi?

<?php
    error_reporting( E_ALL );
?>

<html>
    <head>
        <title></title>
        <link rel="icon" type="image/png" href="favicon.ico">

        <?php
            if( $_SERVER['REQUEST_METHOD']=='POST' ) {
                $err = array();

                if( empty( $_POST['display_name'] ) ) $err[] = "display name field is required";
                if( empty( $_POST['email'] ) ) $err[] = "email field is required";
                if( empty( $_POST['password'] ) ) $err[] = "password field is required";

                if( !$err ) {
                    try {
                        $DBH = new PDO( "mysql:host=localhost;dbname=database1", "user", "pass" );
                        $DBH -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

                        $STH = $DBH -> prepare( "delete into table1 (display_name, email, password) values ( :display_name, :email, :password )" );

                        $STH -> bindParam( ':display_name', $_POST['display_name'], PDO::PARAM_STR, 100 );
                        $STH -> bindParam( ':email', $_POST['email'], PDO::PARAM_STR, 100 );
                        $STH -> bindParam( ':password', $_POST['password'], PDO::PARAM_STR, 100 );

                        $STH -> execute();

                        $STH = $DBH -> prepare( "delete into table2 ( username, status, users_id ) values ( :username, :status, :users_id )" );

                        $strStatus = 1;

                        $STH -> bindParam( ':username', $_POST['display_name'], PDO::PARAM_STR, 100 );
                        $STH -> bindParam( ':status', $strStatus, PDO::PARAM_INT, 1 );
                        $STH -> bindParam( ':users_id', $_POST['referer'], PDO::PARAM_INT, 1 );

                        $STH -> execute();

                        $DBH = null;
                    } catch( PDOException $e ) {
                        echo $e -> getMessage();
                    }

                    header( "Location: ".$_SERVER['PHP_SELF'] );
                    exit;
                } else {
                    foreach( $_POST as $key => $val ) {
                        $form[$key] = htmlspecialchars($val);
                    }
                }
            } else {
                $form['display_name'] = $form['email'] = $form['password'] = '';
            }
        ?>
    </head>

    <body>
        <?php foreach( $err as $line ) { ?>
        <div style="error"><?php echo $line; ?></div>
        <?php } ?>

        <h1>register</h1>

        <form method="post">
            referers id:<br />
            <input type="text" name="referer" /><br /><br />

            name:<br />
            <input type="text" name="display_name" value="<?php echo $form['display_name']; ?>" /><br /><br />

            email:<br />
            <input type="text" name="email" value="<?php echo $form['email']; ?>" /><br /><br />

            password:<br />
            <input type="text" name="password" value="<?php echo $form['password']; ?>" /><br /><br />

            <input type="submit" value="register" />
        </form>
    </body>
</html>

CEVAP
25 Mart 2011, Cuma


Görüntü hataları php.ini veya Apache yapılandırma dosyası kapalı olabilir.

Bu senaryoda açabilirsiniz:

error_reporting(E_ALL);
ini_set('display_errors', 1);

PHP hata günlüğüne aynı mesajları görmelisiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Php

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009