تخطَّ إلى المحتوى
المحتويات
استكشاف الأخطاء

إضافات وإعدادات PHP

ترجمة آلية، النص الأصلي باللغة الإنجليزية متاح عند الحاجة.

أي إصدارات PHP وأي إضافات يوفرها استضافة KapsuleHost لمواقع WordPress وWooCommerce ومواقع PHP، وما الإعدادات التي يمكنك تغييرها بنفسك، ولماذا قد يستغرق ظهور التغيير حتى خمس دقائق.

المواقع الثابتة ومواقع Node.js وPython لا تُشغّل PHP. كل ما يتعلق بـ PHP لموقع ما موجود في مكان واحد: المواقع، انقر على الموقع، الإعدادات، ثم PHP. تحتوي هذه الصفحة على محدد الإصدار، والإعدادات التي يمكنك تغييرها، ومُشغّل Composer، وسجل أخطاء PHP.

صفحة PHP لموقع في KPanel، مع محدد الإصدار والإعدادات التي يمكنك تغييرها

اختيار إصدار PHP

هناك أربعة إصدارات قابلة للاختيار: 8.4 و8.3 و8.2 و8.1. تُستخدم المواقع الجديدة افتراضيًا الإصدار 8.3.

اختر أحدث إصدار يدعمه برنامجك فعليًا. إصدار PHP الأحدث أسرع بشكل ملموس ويُدعم بتصحيحات أمنية لمدة أطول. سبب عدم الانتقال مباشرة إلى الأحدث هو التوافق: إضافة قديمة أو جزء من كود مخصص كُتب منذ سنوات قد يفشل تمامًا على إصدار لم يُختبر عليه أبدًا.

لتغييره، اختر الإصدار وانقر على تطبيق الإصدار. يسري التغيير فورًا، دون الحاجة لإعادة تشغيل من جانبك ودون أي توقف.

غيّر إصدار PHP على بيئة التجربة أولًا، وتصفّح الموقع، ثم غيّره على بيئة الإنتاج. إن كان لا بد من إجراء ذلك مباشرةً على الموقع الفعلي، فافعل ذلك حين يمكنك المراقبة، واعلم أن الرجوع للخلف يتم بنقرة واحدة فقط. انظر بيئات التجربة.

إذا تسبّب تغيير الإصدار في تعطّل الموقع، فعُد إلى الإصدار السابق واقرأ السجل. سيذكر الخطأ اسم الملف الذي تعذّر تشغيله. انظر تغيير إصدار PHP وسجلات الأخطاء.

الإعدادات التي يمكنك تغييرها

تعرض صفحة PHP خمسة إعدادات كقوائم منسدلة. هذه هي الإعدادات التي تسبب المشاكل فعليًا في الواقع العملي، ولهذا السبب تم إظهارها.

الإعدادالقيمة الافتراضيةالقيم المتاحةما الذي يتحكم فيه
memory_limit256M128M، 256M، 512M، 1024M، 2048Mمقدار الذاكرة التي يمكن لطلب واحد استخدامها
max_execution_time3030، 60، 120، 300، 600عدد الثواني التي يمكن أن يستغرقها تشغيل طلب واحد
upload_max_filesize64M16M، 32M، 64M، 128M، 256Mأكبر ملف واحد يمكن رفعه
post_max_size65M17M، 33M، 65M، 129M، 257Mأكبر حجم إجمالي لإرسال نموذج
max_input_vars30001000، 3000، 5000، 10000عدد الحقول التي يمكن أن يحتويها إرسال واحد

أيٌّ منها تحتاج:

  • فشل عمليات الرفع فوق حجم معين: ارفع قيمة upload_max_filesize، وارفع معها post_max_size.
  • نموذج كبير أو منشئ صفحات يفقد حقولًا عند الحفظ: ارفع قيمة max_input_vars. هذه المشكلة خفية ومزعجة، لأنه لا يظهر أي خطأ. يتم ببساطة تجاهل الحقول الإضافية بصمت.
  • صفحة تتوقف في منتصف الطريق دون أي خطأ: ارفع قيمة memory_limit. انظر حد الذاكرة في WordPress.
  • عملية استيراد أو تصدير طويلة تنتهي بانتهاء المهلة: ارفع قيمة max_execution_time، وفكّر في تشغيل المهمة من سطر الأوامر بدلًا من ذلك. انظر WP-CLI.

يجب أن تكون قيمة post_max_size أكبر من upload_max_filesize، لأن الملف المرفوع ينتقل داخل الطلب. إذا اخترت مجموعة لا تحقق ذلك، تقوم المنصة بتصحيح قيمة post_max_size تلقائيًا لترتفع. لهذا قد ترى قيمة لم تخترها أنت.

لماذا قد يستغرق التغيير حتى خمس دقائق

هذا هو أكثر مصدر التباس شيوعًا في هذه الصفحة، لذا يستحق التوضيح بدقة.

تُكتب إعداداتك في ملف .user.ini الموجود في جذر مستندات موقعك. يقرأ PHP هذا الملف ثم يخزّنه مؤقتًا لمدة 300 ثانية، أي خمس دقائق. وإلى أن تنتهي صلاحية هذا التخزين المؤقت، يستمر PHP باستخدام القيم السابقة.

لذا بعد حفظ تغيير ما:

  • ستظل الصفحة تعرض الحد القديم لمدة تصل إلى خمس دقائق.
  • سيظل phpinfo() يعرض الحد القديم لمدة تصل إلى خمس دقائق.
  • التحديث القسري لا يساعد. ولا مسح ذاكرة التخزين المؤقت للمتصفح أيضًا.
  • لست بحاجة لإعادة تشغيل أي شيء، بل لا يمكنك ذلك أصلًا. فقط انتظر.

إذا مرّت أكثر من خمس دقائق ولم تتغير القيمة، فهناك فعليًا خلل ما ويستحق فتح تذكرة.

تعديل .user.ini بنفسك

يمكنك تعديل .user.ini مباشرة عبر SFTP أو SSH إن فضّلت ذلك، أو إذا احتجت إلى توجيه لا تعرضه اللوحة. يوجد في جذر مستندات موقعك. انظر الوصول عبر SFTP.

التنسيق هو توجيه واحد في كل سطر:

memory_limit = 512M
max_execution_time = 120

هناك قيدان مهمان على ما يمكن أن يفعله .user.ini:

يعمل فقط مع التوجيهات التي يسمح PHP بتعيينها على مستوى المجلد أو المستخدم. الإعدادات الخمسة أعلاه كلها مؤهلة لذلك. أما التوجيهات التي يمكن تعيينها فقط على مستوى النظام، مثل disable_functions أو تحميل إضافة باستخدام extension=، فيتم تجاهلها في ملف .user.ini. لن تصدر خطأ، بل ستتجاهل ببساطة دون أي تأثير، ولهذا يقضي البعض فترة بعد الظهر كاملة في محاولة حل المشكلة.

تقرأ اللوحة فقط المفاتيح البسيطة. التوجيهات التي تحتوي على نقطة، مثل opcache.enable أو date.timezone، يحترمها PHP لكنها لن تظهر في نموذج اللوحة. إذا عيّنت واحدة منها يدويًا ثم غيّرت شيئًا لاحقًا عبر اللوحة، تحقق من الملف بعد ذلك.

يُشغّل استضافة KapsuleHost خادم nginx، وليس Apache. لا يقرأ أحد ملفات .htaccess. التوجيهات الخاصة بـ PHP الموضوعة في ملف .htaccess، مثل php_value memory_limit، لا تفعل شيئًا هنا إطلاقًا. استخدم .user.ini أو اللوحة بدلًا من ذلك. انظر WordPress وملف .htaccess.

الإضافات المتاحة

النسخة القياسية واسعة وتشمل كل ما يحتاجه WordPress وWooCommerce ومعظم تطبيقات PHP.

قواعد البيانات: mysqli، pdo_mysql، sqlite3، pdo_sqlite الصور: gd، imagick، exif التخزين المؤقت: Zend OPcache، redis، memcached النصوص واللغة: mbstring، iconv، intl، gettext، ctype XML والبيانات: dom، simplexml، xml، xmlreader، xmlwriter، xsl، json الشبكة: curl، soap، sockets، ftp، openssl الرياضيات والتشفير: bcmath، sodium، hash، random الملفات والنظام: fileinfo، zip، zlib، phar، posix، pcntl، shmop، calendar، tokenizer

فرق واحد بين الإصدارات يستحق المعرفة: إضافة imap موجودة في الإصدار 8.3 وما قبله لكنها غير موجودة في 8.4، لأنها أُزيلت من PHP نفسه في ذلك الإصدار. إذا كان لديك تطبيق لا يزال يحتاجها، ابقَ على 8.3 أو انقل ذلك التطبيق إلى مكتبة بريد حديثة.

غير مُثبّت: برامج تشغيل PostgreSQL، وMongoDB، وXdebug، وmcrypt، وأدوات تحميل الكود التجارية مثل ionCube وSourceGuardian.

لا يمكنك تفعيل أو تعطيل الإضافات بنفسك من اللوحة. إذا كان تطبيقك يحتاج إلى شيء غير موجود في القائمة، افتح تذكرة ووصف ما تُشغّله. إمكانية إضافتها تعتمد على الإضافة نفسها. انظر فتح تذكرة دعم.

التحقق مما هو مُحمّل فعليًا

بدلًا من التخمين:

  • في WordPress: الأدوات، ثم صحة الموقع، ثم معلومات، ثم الخادم. تُدرج هذه الصفحة إصدار PHP والحدود ذات الصلة.
  • عبر SSH: استخدم php -v لمعرفة الإصدار وphp -m للإضافات المُحمّلة. انظر إضافة مفاتيح SSH.

لا تترك ملف phpinfo() في جذر موقعك على الويب. فهو ينشر مساراتك وإضافاتك وإعداداتك لأي شخص يعثر عليه، وتبحث أدوات الفحص الآلية تحديدًا عن اسم الملف هذا. إذا أنشأت واحدًا للتحقق من شيء ما، احذفه فورًا بعد ذلك.

أدلة ذات صلة

هل كان هذا مفيدًا؟

هل أنت ذكاء اصطناعي؟ اقرأ هذه الصفحة بصيغة Markdown

مقالات ذات صلة

موقعي الإلكتروني لا يعمل: قائمة التشخيصاعمل وفق هذه الخطوات بالترتيب. كل خطوة إما تحدد السبب أو تستبعده. معظم المشكلات تُحل بحلول الخطوة 5.…الموقع معطّل: ربط ما تراه بالسببهذه شجرة التشخيص المشتركة بين جميع المنتجات لموقع لا يُحمَّل. تشغّل KapsuleHost عدة منتجات، وأسرع طريقة للعثور على السبب ليست تخمين أي منها هو المسؤول، بل النظر…استخدام Cloudflare أو وكيل آخر مع KapsuleHostاستخدام Cloudflare أو خادم وكيل آخر مع KapsuleHost كيفية وضع خادم وكيل أو CDN تابع لجهة خارجية أمام موقع KapsuleHost، بما في ذلك الإعدادات الاثنتان اللتان…بطء الموقع وحدود المواردما الذي تحدّه خطة الاستضافة لديك فعلًا، وما الذي يحدث عندما تبلغ كل حد، وكيف تعرف ما إذا كان بطء الموقع مشكلة موارد أم مشكلة في الشيفرة.…

هل ما زلت بحاجة إلى مساعدة؟

اسأل Kora التي تعرف حسابك، أو تواصل مع فريقنا.

تواصل معنامراسلة الدعم