์จ๋ผ์ธ ๊ฐ์
>PHP - ์ด๊ธ
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 03 ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ (@): ์ค๋ฅ ๋ฉ์์ง ์จ๊ธฐ๊ธฐ
				์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
 - ๋ผ์ด์ ์ค: free
 - ์ด์์ฒด์ :
 - ํ์ผ ํฌ๊ธฐ: 0
 
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
 - ๋ค์ด๋ก๋ ์: 1
 - ์กฐํ์: 78
 
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
 - ๋ฑ๋ก์ผ: 2025-06-27 02:43:57
 
- ์ค๋ช
๐ PHP ์ด๊ธ - 3์ฃผ์ฐจ - 03 ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ (@): ์ค๋ฅ ๋ฉ์์ง ์จ๊ธฐ๊ธฐ
PHP ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค ๋ณด๋ฉด ๋ค์ํ ์ข
๋ฅ์ #์ค๋ฅ (Error)๋ #๊ฒฝ๊ณ  (Warning) ๋ฉ์์ง๋ฅผ ๋ง๋๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉ์์ง๋ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฌธ์ ๋ฅผ ํ์
ํ๊ณ  ํด๊ฒฐํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ์ง๋ง, ๋๋ก๋ ํน์  ์ํฉ์์ ๋ฐ์ํ๋ ๋ถํ์ํ๊ฑฐ๋ ์์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ํ๋ฉด์ ํ์ํ๊ณ  ์ถ์ง ์์ ๋๊ฐ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉํ  ์ ์๋ ๊ฒ์ด ๋ฐ๋ก **#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ (@)**์
๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ PHP์ #์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @์ ์ฌ์ฉ๋ฒ๊ณผ ์ฃผ์์ฌํญ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
1. #์ค๋ฅ_์ ์ด_์ฐ์ฐ์ (@) ๋?
#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @๋ PHP์์ ํน์  #ํํ์ ์์์ ์ฌ์ฉ๋์ด, ํด๋น #ํํ์ ์์ ๋ฐ์ํ๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ผ์์ ์ผ๋ก ์ต์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฆ, ํด๋น ์ฝ๋์์ #์ค๋ฅ ๋ #๊ฒฝ๊ณ  ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์ฌ์ฉ์์๊ฒ๋ ๋ฉ์์ง๊ฐ ํ์๋์ง ์๋๋ก ํฉ๋๋ค.
๊ธฐ๋ณธ ํํ:
@ํํ์;
์์:
PHP
<?php
// ์กด์ฌํ์ง ์๋ ํ์ผ์ ์ ๊ทผํ์ฌ ๊ฒฝ๊ณ  ๋ฐ์
$file_content = file_get_contents("non_existent_file.txt");
echo "ํ์ผ ๋ด์ฉ: " . $file_content . "<br>"; // ๊ฒฝ๊ณ  ๋ฉ์์ง ์ถ๋ ฅ ํ ํ์ผ ๋ด์ฉ: ์ถ๋ ฅ
// ์ค๋ฅ ์ ์ด ์ฐ์ฐ์ ์ฌ์ฉ
$file_content_suppressed = @file_get_contents("non_existent_file.txt");
echo "ํ์ผ ๋ด์ฉ (์ต์ ): " . $file_content_suppressed . "<br>"; // ๊ฒฝ๊ณ  ๋ฉ์์ง ์์ด ํ์ผ ๋ด์ฉ (์ต์ ): ์ถ๋ ฅ
?>
์ ์์์์ ์ฒซ ๋ฒ์งธ file_get_contents() ํธ์ถ์ ์กด์ฌํ์ง ์๋ ํ์ผ์ ์ ๊ทผํ๋ฏ๋ก ๊ฒฝ๊ณ  ๋ฉ์์ง๋ฅผ ๋ฐ์์ํต๋๋ค. ํ์ง๋ง ๋ ๋ฒ์งธ ํธ์ถ์์๋ ์์ @ #์ฐ์ฐ์ ๋ฅผ ๋ถ์ฌ ํด๋น #๊ฒฝ๊ณ _๋ฉ์์ง ๊ฐ ํ๋ฉด์ ํ์๋์ง ์๋๋ก ์ต์ ํฉ๋๋ค.
2. @ #์ฐ์ฐ์ ์ ์๋ ๋ฐฉ์
@ #์ฐ์ฐ์ ๊ฐ ํน์  #ํํ์ ์ ์ ์ฉ๋๋ฉด, PHP๋ ํด๋น #ํํ์ ์์ ๋ฐ์ํ๋ ๋ชจ๋  #์ค๋ฅ (E_ERROR, E_WARNING, E_NOTICE ๋ฑ)๋ฅผ ํ์ฌ error_reporting ์ค์ ๊ณผ ๊ด๊ณ์์ด ์ต์ ํฉ๋๋ค.
ํ์ง๋ง #์ค๋ฅ_๋ฉ์์ง ๊ฐ ์์ ํ ์ฌ๋ผ์ง๋ ๊ฒ์ ์๋๋๋ค. #์ค๋ฅ ๋ ์ฌ์ ํ ๋ฐ์ํ์ง๋ง, ๋จ์ํ ํ๋ฉด์ ํ์๋์ง ์์ ๋ฟ์ ๋๋ค. ๋ง์ฝ #์ค๋ฅ_ํธ๋ค๋ฌ ๊ฐ ์ค์ ๋์ด ์๋ค๋ฉด, ์ต์ ๋ #์ค๋ฅ ๋ #์ค๋ฅ_ํธ๋ค๋ฌ ๋ก ์ ๋ฌ๋ ์ ์์ต๋๋ค.
3. @ #์ฐ์ฐ์ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ ๋ฐ ๊ถ์ฅํ์ง ์๋ ์ด์ 
@ #์ฐ์ฐ์ ๋ ๊ฐ๋จํ๊ฒ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์จ๊ธธ ์ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#๋๋ฒ๊น _์ด๋ ค์: #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๋ฉด ์ค์  ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ด๋ฅผ ํ์ ํ๊ณ ๋๋ฒ๊น ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์์ง๋๋ค. ๊ฐ๋ฐ์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ํตํด ๋ฌธ์ ์ ์์ธ์ ์ถ์ ํ๊ณ ํด๊ฒฐํ ์ ์๋๋ฐ,
@๋ ์ด๋ฌํ ์ค์ํ ์ ๋ณด๋ฅผ ์จ๊ฒจ๋ฒ๋ฆฝ๋๋ค.#์ฑ๋ฅ_์ ํ:
@#์ฐ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ฉด PHP๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ถ๊ฐ์ ์ธ ์์ ์ ์ํํด์ผ ํ๋ฏ๋ก, ๋ฏธ๋ฏธํ๊ฒ๋๋ง #์ฑ๋ฅ_์ ํ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.#๋ฌธ์ _์ํ: #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์จ๊ธฐ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ ๋จ์ํ ๋ณด์ด์ง ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๋ ๋ณด์ ์ทจ์ฝ์ ์ ์ํํ์ฌ ๋ ํฐ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
#์์ธ_์ฒ๋ฆฌ_๋์: PHP์๋ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ต์ ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์์ ํ๊ณ ์ฒด๊ณ์ ์ธ #์ค๋ฅ_์ฒ๋ฆฌ_๋ฉ์ปค๋์ฆ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด,
try-catch๋ธ๋ก์ ์ฌ์ฉํ #์์ธ_์ฒ๋ฆฌ ๋set_error_handler()ํจ์๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ์ ์ #์ค๋ฅ_ํธ๋ค๋ฌ ์ค์  ๋ฑ์ด ์์ต๋๋ค.
4. @ #์ฐ์ฐ์ ๋์  ์ฌ์ฉํ  ์ ์๋ ๋์
๋๋ถ๋ถ์ ๊ฒฝ์ฐ @ #์ฐ์ฐ์ ๋ณด๋ค๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๋ฐ๋์งํฉ๋๋ค.
isset()๋๋empty()ํจ์ ์ฌ์ฉ: #๋ณ์ ๊ฐ ์ค์ ๋์ด ์๋์ง ๋๋ ๋น์ด์๋์ง ํ์ธํ ๋ ๋ฐ์ํ ์ ์๋E_NOTICE#๊ฒฝ๊ณ ๋ฅผ ํผํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.PHP
// @$_GET['id'] ๋์ $id = isset($_GET['id']) ? $_GET['id'] : null;file_exists()ํจ์ ์ฌ์ฉ: ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ ์ ํ์ผ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๋จผ์  ํ์ธํฉ๋๋ค.PHP
$filename = "non_existent_file.txt"; if (file_exists($filename)) { $content = file_get_contents($filename); } else { echo "ํ์ผ์ด ์กด์ฌํ์ง ์์ต๋๋ค.<br>"; $content = null; }try-catch๋ธ๋ก์ ์ฌ์ฉํ #์์ธ_์ฒ๋ฆฌ: ์น๋ช ์ ์ธ #์ค๋ฅ ๋ ์์ ๊ฐ๋ฅํ ์์ธ ์ํฉ์ ์ฒด๊ณ์ ์ผ๋ก ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํฉ๋๋ค.PHP
try { // ์ ์ฌ์ ์ผ๋ก ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ ์ฝ๋ // ์: ์กด์ฌํ์ง ์๋ ํด๋์ค ์ธ์คํด์คํ $obj = new NonExistentClass(); } catch (Error $e) { // ์ค๋ฅ ์ฒ๋ฆฌ echo "์ค๋ฅ ๋ฐ์: " . $e->getMessage() . "<br>"; }error_reporting()๋ฐini_set()ํจ์ ์ฌ์ฉ: ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ #์ค๋ฅ_๋ณด๊ณ _์์ค ์ ์ ์ ํ๊ฒ ์ค์ ํฉ๋๋ค. ๊ฐ๋ฐ ์ค์๋ ๋ชจ๋ #์ค๋ฅ ๋ฅผ ํ์ํ์ฌ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ , ์ด์ ํ๊ฒฝ์์๋ ์ฌ์ฉ์์๊ฒ #์ค๋ฅ_๋ฉ์์ง ๊ฐ ๋ ธ์ถ๋์ง ์๋๋ก ์ค์ ํฉ๋๋ค.PHP
// ๊ฐ๋ฐ ํ๊ฒฝ: ๋ชจ๋ ์ค๋ฅ ํ์ error_reporting(E_ALL); ini_set('display_errors', 1); // ์ด์ ํ๊ฒฝ: ์ค๋ฅ ํ์ ์ ํจ (๋ก๊ทธ์๋ง ๊ธฐ๋ก) // error_reporting(E_ALL & ~E_NOTICE); // NOTICE ์ ์ธํ ๋ชจ๋ ์ค๋ฅ ๋ณด๊ณ // ini_set('display_errors', 0); // ini_set('log_errors', 1); // ์ค๋ฅ๋ฅผ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก
๊ฒฐ๋ก
#์ค๋ฅ_์ ์ด_์ฐ์ฐ์ @๋ PHP์์ #์ค๋ฅ_๋ฉ์์ง ๋ฅผ ์ผ์์ ์ผ๋ก ์ต์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํ์ง๋ง ์ด๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ทผ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋๋ฉฐ, #๋๋ฒ๊น
 ์ ์ด๋ ต๊ฒ ํ๊ณ  ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ํํ  ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ์ ์ง์ํ๋ ๊ฒ์ด ๊ฐ๋ ฅํ ๊ถ์ฅ๋ฉ๋๋ค. ๋์  isset(), file_exists(), try-catch ๋ธ๋ก, ๊ทธ๋ฆฌ๊ณ  ์ ์ ํ #์ค๋ฅ_๋ณด๊ณ _์ค์  ๊ณผ ๊ฐ์ ์ฒด๊ณ์ ์ธ #์ค๋ฅ_์ฒ๋ฆฌ_๋ฐฉ๋ฒ ์ ์ฌ์ฉํ์ฌ ๋ณด๋ค ์์ ํ๊ณ  ๊ฒฌ๊ณ ํ PHP ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค.