# تفعيل تسجيل الأخطاء في PHP
Source: https://docs.webgee.com/ar/development/how-do-i-enable-error-logging-in-my-php-script



اجعل PHP يسجّل الأخطاء لترى ما يتعطّل. ينطبق على الاستضافة المشتركة والموزِّعة
والمميّزة.

الصفحة البيضاء تعني دائمًا تقريبًا خطأً فادحًا مع تعطيل العرض. والتسجيل هو
كيف تراه.

<Callout type="error">
  **لا تفعّل `display_errors` على موقع مباشر أبدًا.** فرسائل الأخطاء تكشف مسارات
  الملفات وأسماء قواعد البيانات وأحيانًا بيانات الاعتماد، والمهاجمون يقرأونها
  عمدًا. سجّل إلى ملف بدلًا من ذلك — فالمعلومات ذاتها ولا يراها إلا أنت.
</Callout>

## لسكربت واحد [#لسكربت-واحد]

أضف في أعلى الملف تمامًا، قبل أي كود آخر:

```php
<?php
ini_set('log_errors', 1);
ini_set('error_log', __DIR__ . '/error_log');
error_reporting(E_ALL);
```

وتُكتَب الأخطاء إلى `error_log` بجوار السكربت. اقرأه كما هو موضّح في
[العثور على سجل الأخطاء](/ar/development/how-do-i-find-my-error-log-file-to-find-errors-for-my-php-application).

## للحساب كله [#للحساب-كله]

**cPanel ← Select PHP Version ← Options**:

| الإعداد           | القيمة                    |
| ----------------- | ------------------------- |
| `log_errors`      | `On`                      |
| `error_reporting` | `E_ALL`                   |
| `display_errors`  | **`Off`** — اتركه معطّلًا |

راجع [تغيير إصدار PHP وإعداداته](/ar/development/change-php-version).

## ووردبريس [#ووردبريس]

حرّر `wp-config.php`، فوق `/* That's all, stop editing! */`:

```php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
```

وتذهب الأخطاء إلى `wp-content/debug.log`.

وضبط `WP_DEBUG_DISPLAY` على `false` هو ما يبقيها خارج الصفحة. أما تفعيل
`WP_DEBUG` وحده فيعرض الأخطاء للزوار — راجع
[تفعيل WP\_DEBUG](/ar/hosting/wordpress/how-to-view-enable-and-view-errors-on-a-wordpress-installation-wp-debug).

## التنقيح على موقع مباشر [#التنقيح-على-موقع-مباشر]

إن اضطررت، فقيّد الإخراج على عنوانك أنت:

```php
if ( $_SERVER['REMOTE_ADDR'] === '203.0.113.10' ) {
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
}
```

وأزله فور انتهائك.

## أوقفه بعد ذلك [#أوقفه-بعد-ذلك]

التسجيل المفصَّل يكتب مع كل طلب. وترك `E_ALL` على موقع مزدحم ينتج ملف سجل كبيرًا
بما يكفي للتأثير في حصة قرصك، والضجيج يدفن كل ما هو حقيقي.

## اقرأ أيضًا [#اقرأ-أيضًا]

* [العثور على سجل الأخطاء](/ar/development/how-do-i-find-my-error-log-file-to-find-errors-for-my-php-application)
* [تشخيص خطأ PHP 500](/ar/development/php-500-errors-and-how-to-resolve-them)
