# تشخيص خطأ PHP 500
Source: https://docs.webgee.com/ar/development/php-500-errors-and-how-to-resolve-them



يعيد موقعك **500 Internal Server Error**. ينطبق على الاستضافة المشتركة
والموزِّعة والمميّزة.

خطأ 500 عام عمدًا — فالتفصيل في السجل لا في الصفحة.

## ابدأ بالسجل [#ابدأ-بالسجل]

فلا شيء آخر هنا يستحق التجربة أولًا:

```bash
tail -n 50 ~/public_html/error_log
```

أو افتح `error_log` في File Manager مع إظهار الملفات المخفية — راجع
[العثور على سجل الأخطاء](/ar/development/how-do-i-find-my-error-log-file-to-find-errors-for-my-php-application).

والمدخل يسمّي الملف والسطر. وذلك هو التشخيص كله عادةً.

فإن كان الملف فارغًا أو مفقودًا، ففعّل التسجيل — راجع
[تفعيل تسجيل الأخطاء في PHP](/ar/development/how-do-i-enable-error-logging-in-my-php-script).

## ثابت أم متقطّع [#ثابت-أم-متقطّع]

النمط يضيّق الأمر كثيرًا:

| النمط                    | عادةً                             |
| ------------------------ | --------------------------------- |
| **مع كل طلب، في كل مرة** | عطل في الكود أو الإعدادات         |
| **أحيانًا، تحت الحمل**   | حدّ موارد — ذاكرة، أو عمليات دخول |

## أخطاء 500 الثابتة [#أخطاء-500-الثابتة]

**خطأ PHP فادح.** والسجل يسمّيه. وعادةً إضافة أو قالب يستدعي شيئًا غير موجود بعد
تحديث، أو خطأ نحوي في ملف حرّرته للتو.

**ملف `.htaccess` معطّل.** أعد تسميته إلى `.htaccess.bak` وأعد التحميل. فإن عاد
الموقع، فالملف هو السبب. وتوجيه واحد مكتوب خطأً يفعل هذا — راجع
[فرض HTTPS](/ar/security-ssl/force-https) لمثال كان موثّقًا هنا خطأً.

**صلاحيات خاطئة.** فالملفات القابلة للكتابة من المجموعة أو من الجميع يرفضها
suEXEC. اضبط المجلدات على `755` والملفات على `644` — راجع
[صلاحيات الملفات والمجلدات](/ar/hosting/what-file-and-directory-permissions-should-i-use-for-my-web-files).

**إصدار PHP غير مدعوم.** تطبيق يتطلّب إصدارًا أحدث من المختار. راجع
[تغيير إصدار PHP](/ar/development/change-php-version).

## أخطاء 500 المتقطّعة [#أخطاء-500-المتقطّعة]

وهي عادةً حدّ موارد يُبلَغ تحت الحمل.

**الذاكرة.** ارفع `memory_limit` في **Select PHP Version ← Options** — راجع
[فهم حدود ذاكرة PHP](/ar/development/understanding-php-memory-limits-in-shared-hosting-environments).
فإن كان الموقع يحتاج أكثر بكثير من الافتراضي، فثمة خطب: حقّق بدل الرفع مرارًا.

**عمليات الدخول.** فالطلبات المقتولة عند الحد تنتج خطأ 503، لكن طلبًا مقدَّمًا
جزئيًا قد يظهر خطأ 500. راجع **cPanel ← Resource Usage** — راجع
[معالجة خطأ 503 Resource Limit Reached](/ar/performance/understanding-and-resolving-the-503-error-resource-limit-reached).

## ووردبريس تحديدًا [#ووردبريس-تحديدًا]

1. أعد تسمية `wp-content/plugins` إلى `plugins-off` عبر SFTP. فإن عاد الموقع،
   فإضافة هي المسؤولة — أعد الاسم وعطّلها واحدة تلو أخرى.
2. بدّل إلى قالب افتراضي.
3. فعّل `WP_DEBUG_LOG` وراجع `wp-content/debug.log` — راجع
   [تفعيل WP\_DEBUG](/ar/hosting/wordpress/how-to-view-enable-and-view-errors-on-a-wordpress-installation-wp-debug).

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

* [العثور على سجل الأخطاء](/ar/development/how-do-i-find-my-error-log-file-to-find-errors-for-my-php-application)
* [فهم حدود ذاكرة PHP](/ar/development/understanding-php-memory-limits-in-shared-hosting-environments)
