2014-12-25 8 views
6

In einer Konfigurationseinstellungen meines Projekts beobachtete ich am Anfang der Datei folgenden zwei Zeilen:Welchen Unterschied macht die Verwendung von Symbol @ mit ini_set, eingebaute Funktion in PHP?

@ini_set('memory_limit', '-1'); 
@set_time_limit(0); 

Meine Zweifel ist das, was in den beiden obigen Zeilen Code ist der Unterschied und folgenden Codezeilen?

ini_set('memory_limit', '-1'); 
set_time_limit(0); 

Was ist das Vorsatz @ @ -Symbol in PHP?

Bitte geben Sie mir im Detail und auf den Punkt zu beantworten.

Vielen Dank im Voraus.

+0

Ähm, ich wusste nicht, diese Funktionen einen Fehler Suppressor benötigt? –

+1

@DamenPirsy Sie tun, wenn Sie versuchen, einen Wert festzulegen, wenn Sie PHP im abgesicherten Modus verwenden oder wenn die Funktionen deaktiviert sind. –

+0

@IsmaelMiguel Schön, das wusste ich nicht, ich dachte, sie wären recht universell einsetzbar –

Antwort

3

@ in PHP ist einfach für Silencing-Fehler.

zum Beispiel:

<?php 
    $x = 5; 
    $y = @$z; 

so wird $ y

null sein, wenn Sie das @ entfernen es wird einen Fehler werfen.

+0

Sie haben vergessen zu erwähnen, dass der 'error_reporting' Wert in' php.ini' das 'bit-flag' 'E_WARNING' (Wert' 2') auf seinem Wert haben muss. Zum Beispiel der Wert'E_ALL'. Weitere Informationen hierzu finden Sie unter http://php.net/manual/en/function.error-reporting.php. –

+0

danke für den Kommentar, jetzt werden andere es auch sehen. –

1

Error Control Operators

PHP unterstützt einen Operator zur Fehlerkontrolle: das at-Zeichen (@). Wenn sie einem Ausdruck in PHP vorangestellt werden, werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt werden könnten, ignoriert.

Error Control Operators

Verwandte Themen