بلاگ ابرینا

آموزش جامع بررسی فعال بودن OPcache در هاست (تست واقعی کش PHP)

برای بررسی فعال بودن OPcache در هاست، فقط به روشن بودن تیک اون در کنترل‌پنل اکتفا نکنین؛ چون ممکنه ماژول نصب باشه اما روی نسخه PHP دامنه شما کار نکنه. ساده‌ترین راه بدون کدنویسی، چک کردن ردیف Opcode Cache در منوی «سلامت سایت» وردپرسه. برای اطمینان دقیق‌تر هم می‌تونین با تابع opcache_get_status() در محیط وب، پر شدن واقعی حافظه و تعداد فایل‌های کش‌شده (num_cached_scripts) رو ببینین.

آموزش جامع بررسی فعال بودن OPcache در هاست (تست واقعی کش PHP)

سایتتون کند شده و می‌خواید مطمئن بشید کش PHP واقعاً کار می‌کنه؟ برای بررسی فعال بودن OPcache در هاست (OPcache یعنی کش داخلی PHP که کدهای ترجمه‌شده رو تو حافظه نگه می‌داره) چند راه دارید: بخش «سلامت سایت» وردپرس برای یه نگاه کلی، تابع phpinfo() و تابع opcache_get_status(). یه نکته که خیلی‌ها ازش غافل می‌شن اینه که روشن بودن تیک OPcache تو پنل هاست، همیشه به معنی کار کردنش روی سایت شما نیست. تو این راهنما قدم‌به‌قدم تست OPcache رو انجام می‌دیم تا ببینید فایل‌های PHP سایتتون واقعاً تو حافظه نگه داشته می‌شن یا نه.

OPcache چیست و چرا فعال بودن واقعی آن اهمیت دارد؟

OPcache یه سیستم کش داخلی PHP هست. کدهای PHP سایت رو بعد از ترجمه تو حافظه (RAM) سرور نگه می‌داره تا برای هر بازدید لازم نباشه دوباره از اول پردازش بشن. برای همین بهش «کش PHP» هم می‌گن.

چرا «فعال بودن واقعی» مهمه؟ چون نصب بودن ماژول (افزونه داخلی PHP) یا روشن بودن تیک تو کنترل‌پنل، به‌تنهایی ثابت نمی‌کنه کش روی سایت شما کار می‌کنه. نسخه PHP دامنه، تنظیمات سرور و محدودیت‌های هاست می‌تونن باعث بشن عملاً چیزی کش نشه.

یه مثال ساده: فایل‌های PHP مثل دستور آشپزی به زبون خارجی‌ان. اگه آشپز هر بار که مهمون می‌رسه دستور رو از اول ترجمه کنه، غذا دیر آماده می‌شه. OPcache ترجمه رو یه بار انجام می‌ده و نتیجه رو کنار دست آشپز می‌ذاره.

OPcache چگونه اجرای فایل‌های PHP را بهینه می‌کند؟

PHP قبل از اجرای هر فایل، اون رو به کدهای میانی‌ای تبدیل می‌کنه به اسم اپ‌کد (Opcode؛ دستورهایی که موتور PHP مستقیم می‌تونه اجراشون کنه). تو یه سایت وردپرسی، باز شدن یه صفحه ممکنه ده‌ها تا صدها فایل از هسته، قالب و افزونه‌ها رو درگیر کنه.

وقتی OPcache درست کار کنه:

  • اپ‌کد هر فایل بعد از اولین اجرا تو حافظه می‌مونه.
  • تو بازدیدهای بعدی، سرور معمولاً لازم نیست فایل رو دوباره بخونه و کامپایل کنه.
  • نتیجه‌ش اغلب مصرف CPU کمتر و پاسخ‌دهی سریع‌تره.

البته میزان این بهبود به سایت و سرور بستگی داره. تعداد پردازش‌های PHP که هاست هم‌زمان اجرا می‌کنه هم محدوده؛ اگه کنجکاوید، توضیحش تو بررسی محدودیت منابع PHP در هاست اومده.

تفاوت OPcache با Page Cache و Object Cache چیست؟

این سه کش رقیب هم نیستن و هرکدوم تو یه لایه جدا کار می‌کنن:

نوع کشچه چیزی را کش می‌کند؟کجا ذخیره می‌شود؟کجا کمک می‌کند؟
OPcacheکدهای PHP ترجمه‌شده (اپ‌کد)حافظه (RAM) سروراجرای سریع‌تر فایل‌های PHP، حتی صفحه‌هایی که کش صفحه ندارن
کش صفحه (Page Cache)خروجی نهایی صفحه (همون HTML آماده)فایل یا حافظه، بسته به افزونهسریع‌تر شدن صفحه برای بازدیدکننده‌های عادی
کش شیء (Object Cache)نتیجه کوئری‌های تکراری دیتابیسحافظه (مثلاً با Redis یا Memcached؛ ابزارهای نگه‌داری داده تو حافظه)کم شدن فشار روی دیتابیس

پس نصب افزونه‌ای مثل WP Rocket یا LiteSpeed Cache جای OPcache رو نمی‌گیره. جاهایی که کش صفحه معمولاً کنار می‌ره، مثل پیشخوان وردپرس یا سبد خرید ووکامرس، کدهای PHP باید اجرا بشن و OPcache می‌تونه همین اجرا رو سریع‌تر کنه.

از کجا بفهمیم OPcache در وردپرس فعال است؟

اگه دسترسی راحت به هاست ندارید، اولین جایی که می‌تونید نگاه کنید بخش «سلامت سایت» وردپرسه. تو بعضی نسخه‌ها و محیط‌ها، تو این بخش ردیفی برای OPcache هم نشون داده می‌شه، ولی همیشه این‌طور نیست. پس اینجا رو فقط یه نگاه اولیه حساب کنید، نه گواهی نهایی. برای جواب دقیق‌تر سراغ phpinfo() و opcache_get_status() برید که بعداً می‌گیم.

چگونه وضعیت OPcache را در Site Health وردپرس بررسی کنیم؟

نحوه بررسی OPcache در وردپرس از طریق بخش سلامت سایت
  1. تو پیشخوان وردپرس، از منوی «ابزارها» وارد «سلامت سایت» بشید.
  2. روی زبانه «اطلاعات» (Info) بزنید.
  3. بخش «سرور» رو باز کنید تا نسخه PHP و جزئیات محیط اجرا رو ببینید.
  4. اگه ردیف OPcache وجود داشت، وضعیتش رو بخونید و به‌عنوان نشانه اولیه ازش استفاده کنید.

نبودن هشدار به این معنی نیست که همه‌چیز درسته، و نشون داده نشدن چیزی هم به این معنی نیست که خرابه. برای نتیجه مطمئن‌تر ادامه مقاله رو دنبال کنید.

چرا نمایش تنظیم OPcache در پنل هاست به‌تنهایی کافی نیست؟

خیلی‌ها تو سی‌پنل (بخش Select PHP Version) یا دایرکت‌ادمین تیک opcache رو روشن می‌بینن و خیالشون راحت می‌شه. ولی این تیک فقط می‌گه افزونه برای یه نسخه مشخص از PHP بارگذاری می‌شه. چند اتفاق رایج می‌تونه باعث بشه این تیک روی سایت شما اثری نداشته باشه:

  • ناهماهنگی نسخه PHP: دامنه روی PHP 8.3 هست ولی تیک رو برای 8.4 زدید.
  • خاموش بودن پارامتر اصلی: ماژول لود شده، ولی opcache.enable روی 0 هست.
  • نوع اجرای PHP: تو بعضی پیکربندی‌های قدیمی (مثل CGI یا suPHP؛ روش‌های قدیمی اجرای PHP) پردازش PHP بعد از هر درخواست بسته می‌شه و کش جایی برای موندن نداره.

تو خیلی از هاست‌های وردپرس، تنظیمات PHP از قبل آماده می‌شه، ولی حتی اونجا هم تست واقعی ارزش داره.

چگونه با phpinfo() فعال بودن OPcache در هاست را بررسی کنیم؟

تو این روش یه فایل موقت می‌سازید و تو خروجیش دنبال بخش Zend OPcache می‌گردید. حسنش اینه که تنظیمات واقعی محیطی رو نشون می‌ده که سایت شما توش اجرا می‌شه.

هشدار امنیتی: خروجی phpinfo() اطلاعات حساس سرور و مسیر پوشه‌ها رو نشون می‌ده. فایل رو فقط چند دقیقه نگه دارید، بعد حذفش کنید و اسکرین‌شات کامل خروجی رو جای عمومی منتشر نکنید.

  1. وارد کنترل‌پنل بشید و File Manager رو باز کنید.
  2. تو پوشه اصلی سایت (معمولاً public_html) فایلی با اسم غیرقابل‌حدس بسازید، مثلاً check-op-982.php.
  3. این کد رو داخلش بذارید و ذخیره کنید:

php

<?php
phpinfo();
  1. آدرس فایل رو تو مرورگر باز کنید (مثلاً yoursite.com/check-op-982.php).
بررسی فعال بودن OPcache در هاست با خروجی تابع phpinfo

در خروجی phpinfo() دنبال چه عباراتی بگردیم؟

با Ctrl + F عبارت Zend OPcache رو جستجو کنید. ردیف‌های مهم این‌ها هستن:

ردیفحالت معمول و سالممعنی ساده
Opcode CachingUp and Runningکش تو محیط وب فعاله؛ اگه Disabled باشه، کش عملاً کار نمی‌کنه
OptimizationEnabledبهینه‌سازی اپ‌کدها روشنه
opcache.enableOnکش روشنه (هر دو مقدار Local و Master رو نگاه کنید)
opcache.memory_consumptionمثلاً 128حافظه (مگابایت) که به OPcache داده شده؛ پیش‌فرض خود PHP همون 128 هست و هاست‌ها ممکنه عدد دیگه‌ای بذارن
Loaded Configuration Fileمسیر یه فایل php.iniفایل تنظیماتی که PHP ازش می‌خونه

دو اصطلاح هم این‌جا هست: Master Value (مقدار اصلی php.ini) و Local Value (مقداری که برای همون پوشه یا دامنه اعمال شده). اگه این بخش اصلاً تو خروجی نبود، احتمالاً ماژول برای اون نسخه PHP بارگذاری نشده.

چرا پس از بررسی باید فایل آزمایشی را فوراً حذف کنیم؟

ربات‌های اسکن‌کننده مدام دنبال اسم‌هایی مثل info.php یا phpinfo.php می‌گردن. اگه کسی به این صفحه برسه، نسخه‌ها، مسیرهای سرور و تنظیمات سایت شما رو می‌بینه و این اطلاعات می‌تونه تو حمله‌ها به کارش بیاد. پس بعد از دیدن نتیجه، فایل رو از File Manager پاک کنید و اگه پنل سطل زباله داره، از اونجا هم حذفش کنید.

چگونه با تابع opcache_get_status() وضعیت واقعی کش را بررسی کنیم؟

این تابع آمار زنده OPcache در هاست رو نشون می‌ده و یکی از کاربردی‌ترین راه‌ها برای تست OPcache هست (توضیحات رسمیش رو می‌تونید تو مستندات PHP ببینید). فایل تستش هم اطلاعات داخلی سرور رو نشون می‌ده، پس بعد از کار حذفش کنید.

یه فایل موقت تو public_html بسازید و این کد رو بذارید:

php

<?php
echo '<pre>';
print_r(opcache_get_status(false));
echo '</pre>';

مقدار false باعث می‌شه فهرست طولانی تک‌تک فایل‌ها چاپ نشه و فقط آمار کلی رو ببینید.

خروجی تابع opcache_get_status برای بررسی وضعیت OPcache در PHP

مقدار opcache_enabled چه معنایی دارد؟

این شاخص مثل چراغ اصلی موتور کشه. مقدار 1 یعنی OPcache تو همون محیطی که این فایل اجرا شده روشنه. اگه خالی یا 0 باشه، کش‌کردن غیرفعاله. شاخص cache_full رو هم نگاه کنید: مقدار 1 یعنی فضای کش پر شده.

تعداد فایل‌های کش‌شده و آمار حافظه را چگونه بخوانیم؟

اعداد حافظه تو این خروجی به بایت هستن. جدول زیر شاخص‌های مهم رو نشون می‌ده:

شاخصدر کدام بخش است؟معنی سادهنکته
opcache_enabledسطح اصلی خروجیکش روشنه یا نهبرای فعال بودن باید 1 باشه
cache_fullسطح اصلی خروجیفضای کش پر شده یا نه1 یعنی پر شده
used_memory / free_memorymemory_usageحافظه مصرف‌شده و آزادآزاد خیلی کم، یعنی حافظه ممکنه کم باشه
num_cached_scriptsopcache_statisticsتعداد فایل‌های کش‌شدهصفر بودنش همیشه به معنی خرابی نیست
hits / missesopcache_statisticsخوانده‌شده از کش / نبودن در کشرشد hits باید بعد از شروع بیشتر از misses باشه
opcache_hit_rateopcache_statisticsدرصد استفاده موفق از کشبالای ۹۰٪ معمولاً نشانه خوبیه (راهنمای کلی)
oom_restartsopcache_statisticsخالی شدن کش به‌خاطر کمبود حافظه (OOM یعنی کمبود حافظه)بهتره ۰ یا خیلی کم باشه

اگر تابع خروجی false برگرداند، مشکل از کجاست؟

اگه صفحه سفید دیدید، با var_dump(opcache_get_status()); دوباره تست کنید (چون print_r برای false چیزی چاپ نمی‌کنه). اگه bool(false) دیدید، معمولاً یکی از این‌هاست:

  • OPcache برای اون نسخه PHP یا اون محیط روشن نیست.
  • هاست با تنظیم opcache.restrict_api (تنظیمی که اجازه دیدن آمار رو محدود می‌کنه) دسترسی رو بسته. تو این حالت ممکنه کش پشت‌صحنه کار کنه ولی اجازه دیدن آمارش رو نداشته باشید.
  • تابع تو disable_functions (فهرستی که هاست توش بعضی توابع PHP رو مسدود می‌کنه) قرار گرفته.

اگه به‌جای false خطای Call to undefined function دیدید، یعنی افزونه OPcache اصلاً برای اون نسخه PHP لود نشده.

چگونه بفهمیم فایل‌های PHP واقعاً در OPcache ذخیره می‌شوند؟

روشن بودن ماژول کافی نیست؛ باید ببینید فایل‌ها واقعاً وارد کش می‌شن. تو بخش opcache_statistics ببینید num_cached_scripts بیشتر از صفره و بعد از چند بار رفرش سایت، عدد hits بالا می‌ره. این دو نشانه کنار هم، یکی از قوی‌ترین دلیل‌ها برای کار کردن کشن.

num_cached_scripts و opcache_statistics چه اطلاعاتی می‌دهند؟

  • num_cached_scripts: تعداد فایل‌های PHP که الان تو کش هستن. تو یه سایت وردپرسی، بعد از باز کردن چند صفحه، معمولاً به ده‌ها تا صدها فایل می‌رسه.
  • hits: هر بار که کد یه فایل از کش خونده بشه، یکی زیاد می‌شه.
  • misses: هر بار که فایل هنوز تو کش نبوده؛ تو ابتدا بالا رفتنش طبیعیه، ولی بعدش رشد hits باید سریع‌تر باشه.
  • oom_restarts: تعداد دفعاتی که کش به‌خاطر پر شدن حافظه خودش رو خالی کرده.

چرا صفر بودن تعداد فایل‌های کش‌شده همیشه به معنی خرابی نیست؟

اگه num_cached_scripts صفر یا ۱ بود، قبل از نتیجه‌گیری این موارد رو در نظر بگیرید:

  • ریست اخیر: بعد از ری‌استارت PHP یا تغییر نسخه، کش خالی می‌شه و تا باز شدن صفحات خالی می‌مونه.
  • تست از ترمینال: حافظه کش خط فرمان از کش وب جداست، پس آمار اونجا نماینده سایت نیست.
  • سایت کم‌بازدید: تو برخی پیکربندی‌ها، اگه مدتی بازدید نباشه پردازش PHP بسته می‌شه و کش هم با اون پاک می‌شه. این رفتار به نوع هاست بستگی داره.

راه ساده: چند صفحه مختلف سایت رو باز کنید و دوباره آمار بگیرید.

چرا OPcache در پنل هاست فعال است اما در سایت کار نمی‌کند؟

دو دلیل رایج داره: ناهماهنگی بین نسخه PHP دامنه و نسخه‌ای که تنظیماتش رو تغییر دادید، و تست گرفتن از محیطی غیر از مرورگر (مثلاً CLI). ببینیم این دو چه فرقی دارن.

تفاوت PHP وب‌سرور و PHP خط فرمان (CLI) چیست؟

PHP رو سرور از دو مسیر جدا اجرا می‌شه:

  • محیط وب (مثلاً PHP-FPM یا LiteSpeed؛ نرم‌افزارهایی که PHP رو برای وب‌سایت اجرا می‌کنن): وقتی کسی سایت رو تو مرورگر باز می‌کنه.
  • محیط خط فرمان (CLI): وقتی تو ترمینال یا SSH دستوری مثل php -v یا WP-CLI (ابزار خط فرمان وردپرس) اجرا می‌کنید، یا یه کران‌جاب (cron job؛ کار زمان‌بندی‌شده) اجرا می‌شه.

این دو مثل دو خط تلفن جدا هستن و هرکدوم تنظیمات خودشون رو دارن. به‌طور پیش‌فرض OPcache تو CLI خاموشه (opcache.enable_cli=0) و حافظه‌ش با کش وب مشترک نیست. پس برای سایت، تست رو از طریق مرورگر بگیرید.

چگونه تنظیمات PHP دامنه و نسخه انتخاب‌شده را بررسی کنیم؟

  1. تو سی‌پنل، MultiPHP Manager رو باز کنید و ببینید دامنه روی چه نسخه‌ایه (تو دایرکت‌ادمین، بخش تنظیمات PHP دامنه).
  2. اگه Select PHP Version دارید، مطمئن بشید همون نسخه‌ای رو ویرایش می‌کنید که دامنه روشه.
  3. تو خروجی phpinfo() ردیف Loaded Configuration File رو پیدا کنید تا ببینید PHP تنظیماتش رو از کدوم php.ini می‌خونه.

تو هاست اشتراکی ممکنه بخشی از تنظیمات OPcache تو سطح سرور قفل باشه و کاربر نتونه تغییرش بده؛ این طبیعیه.

اگر OPcache در وردپرس غیرفعال بود، چگونه مشکل را سریعاً حل کنیم؟

اول تنظیمات پنل رو نگاه کنید و اگه گزینه‌ها قفل بود، به پشتیبانی هاست پیام بدید.

هشدار: تو هاست اشتراکی، دستکاری مستقیم فایل‌هایی مثل php.ini یا .htaccess برای فعال‌کردن ماژول‌ها ممکنه خطای ۵۰۰ بده. قبل از هر تغییر دستی نسخه پشتیبان بگیرید و تا جایی که می‌شه از ابزارهای خود پنل استفاده کنید.

چه تنظیماتی را می‌توان از پنل هاست بررسی کرد؟

  1. به Select PHP Version یا بخش تنظیمات PHP برید.
  2. تب Extensions رو باز کنید و opcache رو پیدا کنید.
  3. مطمئن بشید برای نسخه‌ای که دامنه روشه فعال باشه.
  4. اگه MultiPHP INI Editor دارید، چک کنید opcache.enable روی On یا 1 باشه.

اگه هاست وردپرس دارید، معمولاً این تنظیمات از قبل آماده شده، ولی بازم یه نگاه سریع ضرر نداره. بعد از تغییر، چند دقیقه صبر کنید و تست مرورگر رو تکرار کنید.

چه زمانی باید از پشتیبانی هاست درخواست بررسی کنیم؟

اگر گزینه OPcache توی پنل وجود نداشت، قابل‌تغییر نبود یا با وجود فعال بودن، تست‌ها نشون می‌دادن که درست کار نمی‌کنه، بهتره موضوع رو با پشتیبانی هاست در میون بذارید. توی تیکت، نسخه PHP دامنه و روش تست رو هم بنویسید تا بررسی دقیق‌تر انجام بشه. گاهی هم محدودیت منابع می‌تونه روی اجرای پردازش‌ها تأثیر بذاره که با بررسی محدودیت پردازش‌های هاست می‌تونید بیشتر با این موضوع آشنا بشید. در ابرینا هاست، تیم پشتیبانی به‌صورت ۲۴ ساعته کنار شماست تا مشکلات فنی سایتتون رو بررسی کنه و برای برطرف کردن اون‌ها راهکار مناسب ارائه بده.

چرا با وجود فعال بودن OPcache، سایت همچنان کند است؟

OPcache فقط بخشی از کار رو سریع می‌کنه: ترجمه کدهای PHP. اگه دیتابیس سنگین باشه، کش صفحه نداشته باشید یا منابع هاست کم باشه، سایت کند می‌مونه. مثل اینه که موتور ماشین رو قوی کنید ولی لاستیک‌ها پنچر باشن. سرعت دیسک هم مهمه: هاست‌هایی که از درایو NVMe (نوعی حافظه SSD سریع‌تر از SSD معمولی) استفاده می‌کنن، معمولاً خوندن فایل‌ها و دیتابیس رو سریع‌تر انجام می‌دن. برای پیدا کردن ریشه اصلی، بررسی علت کندی سایت رو قدم‌به‌قدم انجام بدید.

چگونه مصرف حافظه و وضعیت کش را بررسی کنیم؟

تو خروجی opcache_get_status() سه چیز رو نگاه کنید: حافظه مصرف‌شده، حافظه آزاد و opcache_hit_rate. اگه افزونه و قالب زیاد دارید و حافظه OPcache کمه، کش مدام پر و خالی می‌شه و فایده‌ش کم می‌شه. به‌عنوان یه راهنمای کلی، نرخ برخورد بالای ۹۰ تا ۹۵ درصد و مقداری حافظه آزاد معمولاً وضعیت سالمیه. اعداد دقیق به اندازه سایت بستگی داره و عدد جادویی وجود نداره.

چه زمانی باید TTFB، کش صفحه یا دیتابیس را ارزیابی کنیم؟

وقتی حافظه OPcache کافیه، نرخ برخورد خوبه و سایت بازم دیر باز می‌شه، نوبت TTFB، کش صفحه و دیتابیسه. TTFB یعنی مدت‌زمانی که طول می‌کشه سرور اولین بایت پاسخ رو بفرسته. طبق راهنمای web.dev، TTFB تا حدود ۰.۸ ثانیه «خوب» و بالای حدود ۱.۸ ثانیه «ضعیف» حساب می‌شه. ابزار Lighthouse هم زمان پاسخ سرور بالای حدود ۶۰۰ میلی‌ثانیه رو هشدار می‌ده. این‌ها راهنمای کلی هستن، نه حد قطعی. برای کم کردنش می‌تونید کاهش TTFB در وردپرس رو دنبال کنید.

خطاها و اشتباهات رایج هنگام تست OPcache در هاست

بزرگ‌ترین اشتباه اینه که خروجی خالی یا آمار ترمینال رو به‌حساب خرابی کش بذارید.

هشدار: فایل‌های تست رو روی سرور رها نکنید. بعد از تست پاکشون کنید.

نتیجه‌گیری اشتباهواقعیتاقدام درست
تیک پنل روشنه، پس کش کار می‌کنهشاید برای نسخه PHP دامنه فعال نباشهتست در محیط وب
num_cached_scripts صفره، پس OPcache خرابهشاید تازه ریست شده یا صفحه‌ای باز نشدهچند صفحه باز کنید و دوباره آمار بگیرید
تابع false داد، پس OPcache خاموشهشاید هاست تابع رو بسته باشهبررسی با روش‌های دیگه یا تیکت
تو ترمینال فعاله، پس تو سایت هم فعالهCLI و وب تنظیمات جدا دارنتست فقط از مرورگر

چرا opcache_get_status() هیچ اطلاعاتی برنمی‌گرداند؟

معمولاً یا هاست اسم این تابع رو تو disable_functions گذاشته، یا با opcache.restrict_api دسترسی رو محدود کرده. تو هاست اشتراکی این کار رایجه تا کاربرها نتونن وضعیت حافظه مشترک رو ببینن. پس خروجی خالی ثابت نمی‌کنه کش خاموشه؛ فقط یعنی این راه برای شما بسته‌ست.

دلیل تفاوت نتیجه تست افزونه‌ها با وضعیت سرور چیست؟

اغلب به تفاوت محیط وب (مثلاً FPM) و محیط خط فرمان (CLI) برمی‌گرده. هرکدوم php.ini خودشون رو دارن. همچنین اگه نسخه PHP هاست رو عوض کرده باشید ولی .htaccess دامنه هنوز به نسخه قدیمی اشاره کنه، نتیجه تست‌ها با هم نمی‌خونه.

سوالات متداول درباره وضعیت کش OPcache در هاست

چگونه بفهمیم OPcache در هاست فعال است؟

با phpinfo() (دیدن Up and Running) یا opcache_get_status() (مقدار opcache_enabled و افزایش hits). تست رو از طریق مرورگر بگیرید، نه ترمینال.

آیا نصب بودن OPcache در هاست به معنی فعال بودن آن است؟

نه لزوماً. نصب یا تیک پنل فقط یعنی ماژول موجوده. فعال بودن رو تو محیط واقعی سایت و با پر شدن تدریجی کش ببینید.

اگر opcache_get_status() مقدار false برگرداند چه کنیم؟

ممکنه OPcache خاموش باشه یا هاست دسترسی به تابع رو محدود کرده باشه. تیک رو تو Select PHP Version نگاه کنید و اگه قفل بود، از پشتیبانی بپرسید.

آیا فعال بودن OPcache در هاست سرعت سایت را تضمین می‌کند؟

نه. فقط بار پردازش PHP رو کم می‌کنه. سرعت نهایی به کش صفحه، دیتابیس، منابع هاست و TTFB هم بستگی داره.

آیا فایل تست OPcache در هاست را می‌توان دائماً روی هاست نگه داشت؟

نه. این فایل‌ها اطلاعات حساس سرور رو نشون می‌دن. بعد از تست از File Manager حذفشون کنید.

تفاوت OPcache در هاست با افزونه‌های کش مثل راکت چیست؟

افزونه‌هایی مثل WP Rocket خروجی HTML صفحه رو کش می‌کنن و OPcache کدهای ترجمه‌شده PHP رو. مکمل هم هستن، نه جایگزین.

جمع‌بندی؛ بررسی فعال بودن OPcache در هاست

بررسی فعال بودن OPcache در هاست یعنی فقط به تیک پنل اکتفا نکنید. اول نسخه PHP دامنه رو چک کنید، بعد با phpinfo() وضعیت Zend OPcache رو ببینید و تو آخر با opcache_get_status() مطمئن بشید num_cached_scripts بالا می‌ره و hits زیاد می‌شه. تست رو از طریق مرورگر بگیرید و فایل‌های موقت رو حتماً پاک کنید.

اگه OPcache فعال بود ولی سایت بازم کند موند، مشکل جای دیگه‌ست: دیتابیس، کش صفحه، دیسک یا منابع هاست. با یه تست درست OPcache وردپرس، هم از فرضیه‌های اشتباه خلاص می‌شید و هم دقیق‌تر می‌دونید برای سریع‌تر شدن سایت باید کجا رو بهینه کنید. اگه تو بررسی به محدودیت‌هایی خوردید که از دست شما خارج بود، با پشتیبانی هاست در میون بذارید.