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

اختيار إصدار PHP
هناك أربعة إصدارات قابلة للاختيار: 8.4 و8.3 و8.2 و8.1. تُستخدم المواقع الجديدة افتراضيًا الإصدار 8.3.
اختر أحدث إصدار يدعمه برنامجك فعليًا. إصدار PHP الأحدث أسرع بشكل ملموس ويُدعم بتصحيحات أمنية لمدة أطول. سبب عدم الانتقال مباشرة إلى الأحدث هو التوافق: إضافة قديمة أو جزء من كود مخصص كُتب منذ سنوات قد يفشل تمامًا على إصدار لم يُختبر عليه أبدًا.
لتغييره، اختر الإصدار وانقر على تطبيق الإصدار. يسري التغيير فورًا، دون الحاجة لإعادة تشغيل من جانبك ودون أي توقف.
غيّر إصدار PHP على بيئة التجربة أولًا، وتصفّح الموقع، ثم غيّره على بيئة الإنتاج. إن كان لا بد من إجراء ذلك مباشرةً على الموقع الفعلي، فافعل ذلك حين يمكنك المراقبة، واعلم أن الرجوع للخلف يتم بنقرة واحدة فقط. انظر بيئات التجربة.
إذا تسبّب تغيير الإصدار في تعطّل الموقع، فعُد إلى الإصدار السابق واقرأ السجل. سيذكر الخطأ اسم الملف الذي تعذّر تشغيله. انظر تغيير إصدار PHP وسجلات الأخطاء.
الإعدادات التي يمكنك تغييرها
تعرض صفحة PHP خمسة إعدادات كقوائم منسدلة. هذه هي الإعدادات التي تسبب المشاكل فعليًا في الواقع العملي، ولهذا السبب تم إظهارها.
| الإعداد | القيمة الافتراضية | القيم المتاحة | ما الذي يتحكم فيه |
|---|---|---|---|
memory_limit | 256M | 128M، 256M، 512M، 1024M، 2048M | مقدار الذاكرة التي يمكن لطلب واحد استخدامها |
max_execution_time | 30 | 30، 60، 120، 300، 600 | عدد الثواني التي يمكن أن يستغرقها تشغيل طلب واحد |
upload_max_filesize | 64M | 16M، 32M، 64M، 128M، 256M | أكبر ملف واحد يمكن رفعه |
post_max_size | 65M | 17M، 33M، 65M، 129M، 257M | أكبر حجم إجمالي لإرسال نموذج |
max_input_vars | 3000 | 1000، 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() في جذر موقعك على الويب. فهو ينشر مساراتك وإضافاتك وإعداداتك لأي شخص يعثر عليه، وتبحث أدوات الفحص الآلية تحديدًا عن اسم الملف هذا. إذا أنشأت واحدًا للتحقق من شيء ما، احذفه فورًا بعد ذلك.