راهنمای عیب یابی رایج وردپرس #
مقدمه #
وردپرس یک سیستم مدیریت محتوای (CMS) محبوب است که به شما امکان میدهد وبسایتها، نمونه کارها و برنامههای تجارت الکترونیک بسازید. اگرچه این یک پلتفرم کاربرپسند است، اما خطاهای رایجی در وردپرس وجود دارد که بسته به میزان خطاهای نمایش داده شده به بازدیدکننده سایت یا داشبورد مدیر، عیبیابی آن را دشوار میکند.
بسته به منبع خطا، اکثر خطاهای وردپرس نتیجه زیرساختهای زیربنایی هستند که وظیفه ارائه برنامه شما به بازدیدکنندگان سایت را بر عهده دارند. در این حالت، اگر پیکربندی وب سرور شما دچار مشکل شود، سایت وردپرس شما به طور خودکار خطایی را به بازدیدکنندگان سایت نشان میدهد، که باید با عیبیابی عملکردهای وب سرور، آن را برطرف کنید.
خطاهای وردپرس در سمت کاربر، هشدارهای کوچکی هستند که معمولاً ساختار سایت شما را خراب نمیکنند، اما هر بار که سایت شما برای بازدیدکننده جدید بارگذاری میشود، تأثیر زیادی بر تجربه کاربری میگذارند. در این حالت، باید خطاهای رایج افزونه، هسته وردپرس و قالب را بررسی کنید تا از هرگونه خطای اضافی جلوگیری شود.
این مقاله خطاهای رایج وردپرس در بکاند و فرانتاند و نحوه عیبیابی آنها برای بهبود قابلیت اطمینان سایت شما را توضیح میدهد.
پیشنیازها #
قبل از شروع، مطمئن شوید که:
- یک سایت وردپرس فعال داشته باشید. اگر ندارید هاست وردپرس از ما تهیه کنید!
- به عنوان کاربر ادمین وارد سایت وردپرس خود شوید
https://example.com/wp-admin - دسترسی SSH یا ترمینال به سرور وردپرس داشته باشید
خطاهای رایج وردپرس #
بسیاری از خطاهای وردپرس هر بار که یک بهروزرسانی بزرگ جدید منتشر میشود، کشف میشوند. بسته به خطای دقیق شما، در زیر ۱۰ مورد از رایجترین خطاهای وردپرس که بر عملکرد سایت، رتبهبندی جستجو، قابلیت اطمینان و گاهی اوقات منجر به از دست رفتن کامل دادهها میشوند، آورده شده است.
- خطا در ایجاد اتصال به پایگاه داده
- اتصال شما خصوصی نیست (گواهی SSL نامعتبر است)
- صفحه سفید مرگ وردپرس (صفحه خالی)
- خطای داخلی سرور (۵۰۰)
- یادداشت صفحه ۴۰۴ پیدا شد
- خطای آپلود: نوشتن فایل روی دیسک ناموفق بود
- خطای ۵۰۳ عدم دسترسی به سرویس
- سایت با مشکلات فنی مواجه است
- خطای ۴۰۳ ممنوعه
- خطای محتوای ترکیبی
عیبیابی خطاهای رایج وردپرس #
برای عیبیابی و رفع خطاهای رایج وردپرس، قبل از اینکه برای یافتن راهحل اقدام کنید، باید منبع دقیق خطا را بدانید. معمولاً برای رفع خطاهای وردپرس باید مراحل عیبیابی اولیه شرح داده شده در این بخش را دنبال کنید.
مشاهده لاگهای وردپرس #
گزارشگیری وردپرس به شما این امکان را میدهد که خطاها را در یک فایل خروجی مشاهده کنید. به طور پیشفرض، این ویژگی غیرفعال است، آن را فعال کنید تا هرگونه خطای اشکالزدایی وردپرس که ممکن است نمایش داده شود و بر عملکرد سایت شما تأثیر بگذارد، همانطور که در زیر توضیح داده شده است، پیگیری شود.
- به دایرکتوری ریشه وب وردپرس خود بروید. برای مثال
/var/www/html،/var/www/public_html،/var/www/example.com/$ cd /var/www/html - با استفاده از یک ویرایشگر متن دلخواه مانند
nano،wp-config.phpفایل را ویرایش کنید$ nano wp-config.php - برای فعال کردن ثبت وقایع وردپرس، دستور زیر را در انتهای فایل اضافه کنید.
define('WP_DEBUG_LOG', true);فایل را ذخیره و ببندید
wp-contentبه دایرکتوری بروید$ cd /wp-content/- فهرست کردن فایلها و تأیید
debug.logوجود فایل جدید در دایرکتوری$ ls debug.logبرای دسترسی به گزارشهای خطای وردپرس، فایل را مشاهده کنید.$ cat debug.logهر بار که سایت وردپرس شما با خطایی مواجه میشود، این خطا در
debug.logفایل ثبت میشود. همیشه فایل را مشاهده کنید تا منبع دقیق خطا را شناسایی کنید. برای مثال:[۲۰۲۳-۰۷-۰۷ ۱۲:۰۰:۰۱] PHP Fatal error: Call to undefined function get_non_existent_function() in /var/www/example.com/wp-content/plugins/custom-plugin/plugin-file.php on line 644خطای بالا نشان میدهد که شما
custom-pluginخطایی در خط ۶۴۴ برمیگردانید. میتوانید فایل افزونه را ویرایش کنید تا آن را اصلاح کنید، یا افزونه را غیرفعال کنید تا از هرگونه خطای اضافی جلوگیری شود.
فعال کردن اشکال زدایی وردپرس #
اشکالزدایی وردپرس امکان نمایش خطاها در سایت وردپرس شما را برای عیبیابی توسط مدیر فراهم میکند. معمولاً این خطاها زمانی ظاهر میشوند که هر یک از قالبها یا افزونههای نصب شده به طور ضعیف کدگذاری شده باشند یا خطاهای زمان اجرا را برگردانند. به طور پیشفرض، اشکالزدایی وردپرس فعال نیست، آن را طبق مراحل زیر فعال کنید.
wp-config.phpفایل را ویرایش کنید$ nano wp-config.php- دستورات زیر را در انتهای فایل اضافه کنید
define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true);فایل را ذخیره و ببندید
دستورالعملهای بالا، اشکالزدایی وردپرس را فعال کرده و نمایش خطاها را در صفحه بازدیدکننده سایت شما غیرفعال میکنند. این به شما امکان میدهد منبع دقیق خطای وردپرس را بدانید و جزئیات کافی برای اصلاح آن و جلوگیری از هرگونه خطای اضافی در برنامه خود را در اختیار داشته باشید.
مشاهده گزارشهای وب سرور #
وب سرور، جزء ریشه سایت وردپرس شماست که آن را در حال اجرا نگه میدارد. اکثر پیادهسازیهای وردپرس یا از ، ، یا به عنوان برنامه وب سرور استفاده میکنند Apache. Nginxبسته OpenLiteSpeedبه Caddyپیادهسازی شما، گزارشهای وب سرور را بررسی کنید تا منبع خطای وردپرس را همانطور که در مراحل زیر توضیح داده شده است، شناسایی کنید.
/var/log/به دایرکت مراجعه کنید$ cd /var/log- به دایرکتوری لاگهای وب سرور بروید. برای مثال
Nginx$ cd /var/log/nginx - مشاهده گزارش خطا
$ sudo cat error.logاگر پیکربندی وردپرس شما از یک گزارش خطای سفارشی Nginx مانند example.com.error.log استفاده میکند، محتوای فایل را برای نمایش خطای خاص برنامه مشاهده کنید.
$ sudo cat example.com.error.logاگر سایت وردپرس شما خطایی مربوط به وب سرور دارد، باید در ورودیهای فایل لاگ شما نمایش داده شود.
2023/۰۸/۰۷ ۱۲:۰۰:۰۰ [error] 12345#0: *6789 open() "/var/www/example.com/productabc.html" failed (2: No such file or directory), client: 192.0.2.100, server: example.com, request: "GET /missing-page.html HTTP/1.1", host: "example.com"خطای بالا نشان میدهد که وب سرور خطای ۴۰۴ را نمایش میدهد زیرا
productabc.htmlفایل در دایرکتوری ریشه وب وردپرس قابل خواندن یا در دسترس نیست.
فعال کردن حالت بازیابی وردپرس #
حالت بازیابی وردپرس به شما این امکان را میدهد که با دسترسی موقت به داشبورد مدیریت تا زمان حل شدن همه مشکلات، خطاها را عیبیابی کنید. معمولاً وقتی یک خطای بحرانی رخ میدهد، مدیر سایت یک لینک بازیابی دریافت میکند که از طریق آن میتوانید به داشبورد وردپرس دسترسی پیدا کنید. در صورتی که هیچ ایمیل وردپرسی دریافت نکردید، حالت بازیابی را طبق مراحل زیر فعال کنید.
- از لینک بازیابی وردپرس استفاده کنید
https://example.com/wp-login.php?action=entered_recovery_modeوقتی از شما خواسته شد، نام کاربری و رمز عبور مدیر وردپرس خود را وارد کنید تا به حالت بازیابی دسترسی پیدا کنید.

راهنمای عیب یابی وردپرس - در حالت ریکاوری، از منوی اصلی به بخش ابزارها (Tools) بروید.
- از لیست کشویی روی سلامت سایت کلیک کنید
- مشکلات فعلی وردپرس را در صفحه وضعیت مشاهده کنید
- برای جلوگیری از هرگونه خطای اضافی، هر یک از مشکلات وردپرس را برطرف کنید و تأیید کنید که وضعیت شما به خوب تغییر میکند.

نحوه رفع خطای ایجاد اتصال به پایگاه داده در وردپرس #
خطای برقراری اتصال به پایگاه داده رایج است و زمانی نمایش داده میشود که وردپرس قادر به نوشتن در پایگاه داده با استفاده از نام کاربری و رمز عبور موجود در wp-config.phpفایل شما نیست. معمولاً سرور پایگاه داده میتواند با خطا مواجه شود یا کاربر شما نمیتواند در پایگاه داده وردپرس بنویسد. این خطا را طبق مراحل زیر برطرف کنید.
- تأیید کنید که سرور پایگاه داده فعال و در حال اجرا است
$ sudo systemctl status mysqlخروجی:
● mariadb.service - MariaDB 10.11.4 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Sat 2023-07-15 20:19:00 UTC; 1 month 15 days ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25878 (mariadbd) Status: "Taking your SQL requests now..."اگر وضعیت سرور پایگاه داده غیرفعال (ناموفق) است ، آن را مجدداً راهاندازی کنید تا به همه پایگاههای داده دسترسی پیدا کنید.
$ sudo systemctl restart mysqlتأیید کنید که با وجود هرگونه خطا، به درستی اجرا میشود. در غیر این صورت، گزارشهای پایگاه داده را مشاهده کنید تا منبع خطا را مشخص کنید.
$ sudo cat /var/log/mysql/error.logخروجی:
2023-۰۸-07T12:00:00.123456Z 0 [Note] InnoDB: Buffer pool(s) load completed at 210707 12:00:00 ۲۰۲۳-۰۸-07T12:00:01.234567Z 0 [ERROR] mysqld: Out of memory (Needed 123456 bytes) ۲۰۲۳-۰۸-07T12:00:03.456789Z 0 [ERROR] Table 'mydatabase.mytable' doesn't exist ۲۰۲۳-۰۸-07T12:00:04.567890Z 0 [ERROR] Can't start server: Bind on TCP/IP port: Address already inهمانطور که در خروجی بالا نشان داده شده است، سرور پایگاه داده MySQL به دلیل کمبود حافظه سرور قادر به شروع به کار نیست و با برنامه دیگری در پورت تداخل دارد
۳۳۰۶. - محتویات
wp-config.phpفایل خود را بررسی کنید$ cat /var/www/example.com/wp-config.phpخروجی:
/** The name of the database for WordPress */ define( 'DB_NAME', 'wordpressdb' ); /** MySQL database username */ define( 'DB_USER', 'wpuser' ); /** MySQL database password */ define( 'DB_PASSWORD', 'strong-password' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' ); /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** WordPress Database Table prefix. */ $table_prefix = 'wp_';تأیید کنید که نام پایگاه داده، نام کاربری و رمز عبور با رکوردهای واقعی در سرور پایگاه داده MySQL شما مطابقت داشته باشد. همچنین، به
$table_prefix =دستورالعملی که باید با سبک نامگذاری پایگاه داده شما مطابقت داشته باشد، توجه کنید. برای آزمایش دسترسی کاربر، به سرور پایگاه داده MySQL وارد شوید.$ mysql -u wpuser -pوقتی از شما خواسته شد، رمز عبور خود را وارد کنید
پایگاههای داده موجود را مشاهده کنید و تأیید کنید که پایگاه داده وردپرس در لیست نمایش داده میشود.
> SHOW DATABASES;به پایگاه داده تغییر دهید
> USE wordpressdb;جداول پایگاه داده را مشاهده کنید و تأیید کنید که پیشوند نامگذاری با
$table_prefix =مقدار شما درwp-config.phpفایل مطابقت دارد.> SHOW TABLES;خروجی:
+----------------------------+ | Tables_in_wordpressdb | +----------------------------+ | wp_actionscheduler_actions | | wp_actionscheduler_claims | | wp_actionscheduler_groups | | wp_actionscheduler_logs | | wp_as3cf_items | | wp_commentmeta | | wp_comments | | wp_e_events | | wp_links |همانطور که در خروجی نمایش داده میشود،
wpپیشوند جداول وردپرس باید درwp-config.phpفایل شما نمایش داده شود.
نحوه رفع خطای اتصال شما خصوصی نیست (گواهی SSL نامعتبر است) #
وقتی سرور وردپرس شما با یک گواهی SSL نامعتبر اجرا میشود، قبل از بارگذاری سایت، یک خطای مرورگر Insecure Connectionوب Your Connection is not Privateبرای هر بازدیدکننده سایت نمایش داده میشود. برای رفع این خطا، تأیید کنید که سرور وب شما به گواهیهای SSL صحیح اشاره میکند. هنگام استفاده از گواهی Let’s Encrypt رایگان، از ابزار Certbot برای تمدید یا تولید مجدد گواهیهای SSL برای دامنه خود، همانطور که در زیر توضیح داده شده است، استفاده کنید.
- به دایرکتوری فایلهای میزبان مجازی وب سرور بروید. برای مثال
/etc/nginx/sites-enabled$ cd /etc/nginx/sites-enabled/ - فایل پیکربندی میزبان وردپرس خود را مشاهده کنید
$ cat example.comهنگام اجرای چندین سایت وردپرس روی یک وب سرور، از دستور زیر برای شناسایی فایل پیکربندی هدف خود استفاده کنید.
example.comنام دامنه واقعی خود را جایگزین کنید.$ grep -r "example.com" /etc/nginx/sites-enabled/ - تأیید کنید که دستورالعملهای
ssl_certificateandssl_certificate_keyبه/etc/letsencrypt/live/دایرکتوری اشاره میکنند.# SSL certificate managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - با استفاده از
certbotابزار کلاینت، یک گواهی SSL جدید برای سایت وردپرس خود ایجاد کنید. آن راexample.comبا نام دامنه واقعی خود جایگزین کنید.$ sudo certbot --nginx -d example.comتأیید کنید که فرآیند صدور گواهی موفقیتآمیز بوده است
- آزمایش کنید که گواهی پس از انقضا به طور خودکار تمدید شود
$ sudo certbot renew --dry-runخروجی:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/example.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered.در صورت موفقیت، Certbot به طور خودکار گواهی SSL وردپرس شما را هر ۹۰ روز تمدید میکند.
- در مرورگر وب خود، از سایت وردپرس خود بازدید کنید تا دسترسی HTTPS را آزمایش کنید و مطمئن شوید که
Invalid SSL certificateخطا دیگر برای بازدیدکنندگان سایت نمایش داده نمیشود.https://example.com
برای پیاده سازی انواع مختلف گواهینامه SSL، به منابع زیر مراجعه کنید:
- گواهی نامه اس اس ال
- استفاده از کلودفلر و فایروال ولتر برای محافظت از سرور ابری ولتر
- نصب Let’s Encrypt SSL روی اوبونتو با آپاچی یا انجینایکس
نحوه رفع خطای ۵۰۳ Service Unavailable #
خطای ۵۰۳ سرویس در دسترس نیست وردپرس معمولاً نتیجه محدودیت منابع در سرور شماست. معمولاً وقتی سرور وردپرس شما به حداکثر حجم پهنای باند مجاز شما میرسد، این خطا به صورت عدم موفقیت درخواستهای داده نمایش داده میشود. همچنین، میتواند ناشی از افزونهها یا فایلهای قالب با کدنویسی ضعیف باشد، خطا را طبق مراحل زیر برطرف کنید.
- به کنترل پنل سرور وردپرس خود وارد شوید و تأیید کنید که سرور شما پهنای باند کافی اختصاص داده است.
بسته به ارائه دهنده هاستینگ شما، پهنای باند نامحدود ممکن است در کنترل پنل شما نمایش داده شود، اما وقتی به طور غیرمستقیم محدود باشد. اگر محدودیت پهنای باند را شناسایی کردید، به یک ارائه دهنده قیمت گذاری قابل پیش بینی مانند نگار نوین مهاجرت کنید تا سرور خود را با نیازهای خود مقیاس بندی کنید.
- گزارشهای خطای وب سرور خود را مشاهده کنید و منبع خطا را تأیید کنید
$ sudo cat /var/log/nginx/error.log - تأیید کنید که PHP-FPM به درستی روی سرور شما اجرا میشود تا اسکریپتهای PHP را مدیریت کند.
$ sudo systemctl status php-fpmبسته به نسخه PHP خود، میتوانید برای مشاهده وضعیت FPM نام را تغییر دهید. برای مثال
php8.1-fpm - اگر خطا همچنان ادامه داشت، به
wp-contentدایرکتوری خود بروید$ cd /wp-content - تغییر نام دایرکتوری به
plugins_old$ mv plugins plugins_oldدایرکتوری را دوباره ایجاد کنید
pluginsو بررسی کنید که آیا خطا برطرف شده است یا خیر. در غیر این صورت، وضعیت زیرساخت سرور، وب سرور و گزارشهای خطای وردپرس را بررسی کنید تا منبع دقیق خطا را پیدا کنید.
چگونه خطای ۴۰۴ صفحه پیدا نشد را برطرف کنیم #
خطای HTTP 404 زمانی نمایش داده میشود که وب سرور قادر به یافتن منبع درخواستی روی سرور نباشد. برای مثال، وقتی بازدیدکننده سایت فایل یا صفحهای را درخواست میکند که در سرور موجود نیست، وب سرور خطای ۴۰۴ را برمیگرداند. خطا را همانطور که در زیر توضیح داده شده است، پیدا کرده و برطرف کنید.
- مجوزهای مالکیت وب سرور را به دایرکتوری ریشه وب وردپرس اعطا کنید
$ sudo chown -R www-data:www-data /var/www/html/ - مجوزهای صحیح دایرکتوری و فایل را تنظیم کنید
۷۵۵دایرکتوریها:$ sudo find /var/www/html/ -type d -exec chmod 755 {} \;۶۴۴روی فایلها:$ sudo find /var/www/html/ -type f -exec chmod 644 {} \; - فهرست طولانی از دایرکتوری ریشه وب تهیه کنید و مقادیر مجوزهای موجود را تأیید کنید
$ ls -l /var/www/html/خروجی:
drwxr-xr-x 9 www-data www-data 4096 Aug 8 20:26 wp-admin -rw-r--r-- 1 www-data www-data 351 May 9 03:17 wp-blog-header.php -rw-r--r-- 1 www-data www-data 2323 Aug 8 20:26 wp-comments-post.php -rw-r--r-- 1 www-data www-data 3360 Jul 27 14:42 wp-config.php -rw-r--r-- 1 www-data www-data 3013 May 9 03:17 wp-config-sample.php drwxr-xr-x 10 www-data www-data 4096 Aug 27 20:53 wp-content -rw-r--r-- 1 www-data www-data 5638 Aug 8 20:26 wp-cron.php drwxr-xr-x 27 www-data www-data 16384 Aug 8 20:26 wp-includes -rw-r--r-- 1 www-data www-data 2502 May 9 03:17 wp-links-opml.php -rw-r--r-- 1 www-data www-data 3927 Aug 8 20:26 wp-load.php -rw-r--r-- 1 www-data www-data 49441 Aug 8 20:26 wp-login.phpسایت وردپرس خود را دوباره بررسی کنید، تأیید کنید که منبع درخواستی روی سرور موجود است و خطا دوباره نمایش داده نمیشود.
- فایل پیکربندی وب سرور وردپرس خود را مشاهده کنید
$ sudo cat /etc/nginx/sites-enabled/example.com - تأیید کنید که پیکربندی به دایرکتوری ریشه وب وردپرس اشاره میکند
root /var/www/html;بسته به وب سرور شما، ممکن است دستورالعمل ریشه وب متفاوت باشد. برای مثال
DocumentRootهنگام استفاده از آپاچی - وارد داشبورد مدیریت وردپرس خود شوید
https://example.com/wp-admin - به تنظیمات > پیوندهای یکتا بروید ، ساختار پیوندهای یکتای وردپرس خود را مجدداً تنظیم کنید تا ساختار URL شما بهروزرسانی شود و از خطاهای ۴۰۴ جلوگیری شود.
نحوه رفع خطای HTTP 500 Internal Server #
- تأیید کنید که وب سرور فعال و در حال اجرا است
$ sudo systemctl status nginx - تأیید کنید که PHP-FPM فعال و در حال اجرا است
$ sudo systemctl status php-fpm - برای بررسی منبع دقیق خطا، گزارشهای خطای وب سرور را مشاهده کنید.
$ sudo cat /var/log/nginx/error.log - همچنین، گزارشهای خطای PHP-FPM را مشاهده کنید تا تأیید کنید که آیا خطا توسط یک اسکریپت PHP ایجاد نشده است یا خیر.
$ sudo cat /var/log/php-fpm/error.logخروجی:
۲۰۲۳/۰۸/۰۷ ۱۲:۳۴:۵۶ [error] 12345#0: *6789 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function someUndefinedFunction() in /var/www/html/wp-content/custom-plugin.php:23 Stack trace: #۰ {main} thrown in /var/www/html/wp-content/custom-plugin.php on line 23" while reading response header from upstream, client: 192.168.1.1, server: example.com, request: "GET /page.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.4-fpm.sock:", host: "example.com", referrer: "http://example.com/"
چگونه خطای ۵۰۲ Bad Gateway را برطرف کنیم؟ #
خطای HTTP 502 bad gateway ناشی از اتمام زمان پاسخگویی سرور وب است. وقتی کاربری درخواستی به سایت وردپرس شما ارسال میکند، سرور وب در صورت عدم توانایی در مدیریت درخواست، خطای ۵۰۲ gateway را برمیگرداند. معمولاً وقتی اتصال به PHP-FPM با اتمام زمان پاسخگویی مواجه میشود، سرور وب این خطا را برمیگرداند. منبع خطا را پیدا کنید و آن را مطابق توضیحات زیر برطرف کنید.
- مشاهده آخرین ورودیهای گزارش خطای وب سرور
$ sudo cat /var/log/nginx/error.log | tail - آخرین خطا را پیدا کنید. معمولاً ممکن است خطا را پیدا کنید
*1 connect() to unix:/var/run/php-fpm.socket failed (2: No such file or directory) while connecting to upstream. برای رفع آن، پیکربندی وب سرور خود را مشاهده کنید.$ cat /etc/nginx/sites-enabled/example.com - تأیید کنید که پیکربندیهای صحیح PHP در این
/.phpبخش موجود است.location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } - تأیید کنید که PHP-FPM (بر اساس نسخه شما) فعال و در حال اجرا است
$ sudo systemctl status php8.1-fpmخروجی:
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-08-30 17:55:55 UTC; 27s ago - اگر خطا همچنان ادامه داشت، پیکربندی PHP-FPM را مشاهده کنید.
$ cat /etc/php/8.1/fpm/pool.d/www.conf - تأیید کنید
user/groupکه به عنوان کاربر وب سرور اجرا میشود.www-data; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data group = www-data
به سایت وردپرس خود مراجعه کنید و بررسی کنید که خطا دوباره ظاهر نمیشود. وقتی دوباره ظاهر شد، گزارشهای خطای وب سرور خود را دوباره مشاهده کنید تا منبع خطا را تأیید کنید.
چگونه خطای ۴۰۳ Forbidden را برطرف کنیم؟ #
خطای HTTP 403 forbidden به دلیل مجوزهای نامناسب برای دسترسی به یک منبع خاص در سرور وردپرس نمایش داده میشود. معمولاً اگر وب سرور امتیاز خواندن منبع را نداشته باشد، این خطا در سایت وردپرس شما نمایش داده میشود. خطا را طبق توضیحات زیر برطرف کنید.
- برای یافتن منبع دقیق خطا، گزارشهای خطای وب سرور را مشاهده کنید.
$ sudo cat /var/log/nginx/error.log - فهرست طولانی از دایرکتوری ریشه وب وردپرس تهیه کنید و تأیید کنید که
www-dataکاربر دارای امتیاز خواندن است$ ls -l /var/www/html/خروجی:
drwxr-xr-x 9 www-data www-data 4096 Aug 8 20:26 wp-admin -rw-r--r-- 1 www-data www-data 351 May 9 03:17 wp-blog-header.php -rw-r--r-- 1 www-data www-data 2323 Aug 8 20:26 wp-comments-post.php -rw-r--r-- 1 www-data www-data 3360 Jul 27 14:42 wp-config.php drwxr-xr-x 10 www-data www-data 4096 Aug 27 20:53 wp-content drwxr-xr-x 27 www-data www-data 16384 Aug 8 20:26 wp-includeswww-dataبه کاربر وب سرور امتیازات کامل برای دسترسی به دایرکتوری اعطا کنید .$ sudo chown -R www-data:www-data /var/www/html/ - مجوزهای صحیح دایرکتوری وردپرس را تنظیم کنید
$ sudo find /var/www/html/ -type d -exec chmod 755 {} \; - مجوزهای صحیح فایل وردپرس را تنظیم کنید
$ sudo find /var/www/html/ -type f -exec chmod 644 {} \; - از سایت وردپرس خود بازدید کنید و مطمئن شوید که خطا دوباره نمایش داده نمیشود.
https://example.com
نحوه رفع خطای آپلود: نوشتن فایل روی دیسک ناموفق بود #
وقتی وب سرور قادر به نوشتن فایلهای جدید آپلود شده از طریق داشبورد وردپرس شما نباشد، این failed to write file to diskخطا نمایش داده میشود. برای رفع خطا، تأیید کنید که وب سرور مجوزهای خواندن و نوشتن در دایرکتوری ریشه وب وردپرس را دارد. مجوزها را مطابق توضیحات زیر تأیید کنید.
- مشاهده مجوزهای دایرکتوری ریشه وب وردپرس
$ ls -l /var/www/html/ - مجوزهای صحیح دایرکتوری را تنظیم کنید
$ sudo find /var/www/html/ -type d -exec chmod 755 {} \; - تنظیم مجوزهای فایل وردپرس
$ sudo find /var/www/html/ -type f -exec chmod 644 {} \;
چگونه خطای «این سایت با مشکلات فنی مواجه است» در وردپرس را برطرف کنیم؟ #
وقتی وردپرس به آخرین نسخه ارتقا مییابد، site is experiencing technical difficultiesممکن است این خطا نمایش داده شود. دلیل این امر این است که ممکن است برخی از قالبها یا فایلهای افزونه با نسخه جدید سازگار نباشند، منبع دقیق وردپرس را پیدا کنید و خطا را همانطور که در زیر توضیح داده شده است، برطرف کنید.
- تغییر نام
pluginsدایرکتوری بهpluginsold$ sudo mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins-old - ایجاد یک
pluginsدایرکتوری جدید$ sudo mkdir /var/www/html/wp-content/plugins pluginsبرای فعال کردن دایرکتوری جدید، به داشبورد وردپرس خود مراجعه کنید.https://example.com/wp-admin- در بخش ترمینال خود، افزونههای قدیمی را یکی یکی کپی کنید. برای مثال،
woocommerceدر صورت وجود، با شروع کنید.$ sudo cp /var/www/html/wp-content/plugins-old/woocommerce /var/www/html/wp-content/pluginsبسته به تعداد افزونههای موجود، ابتدا مهمترین افزونهها و در آخر افزونههای مشکوک را کپی کنید.

- در داشبورد وردپرس خود، افزونهها را یکی یکی دوباره فعال کنید.
- اگر خطا پس از فعال کردن یک افزونه خاص نمایش داده شد، افزونه را غیرفعال کنید و قبل از فعال کردن مجدد آن، نسخه بهروز شده را جستجو کنید.

راهنمای عیب یابی وردپرس - در صورتی که خطا ناشی از یک قالب خراب باشد، بررسی کنید که قالب فعال شما از آخرین نسخه وردپرس پشتیبانی میکند، در غیر این صورت، وردپرس خود را به پایدارترین نسخه پشتیبان تهیه شده، دانگرید کنید.
نحوه رفع صفحه سفید مرگ وردپرس (صفحه خالی) #
صفحه سفید مرگ وردپرس یک صفحه خالی است که هیچ خطایی را نشان نمیدهد، اما هیچ تعاملی را در سایت وردپرس شما نمیپذیرد. به جای صفحه سفید، There has been a critical error on this websiteممکن است خطا نمایش داده شود، هر دو خطا یکسان هستند و بر عملکرد کلی سایت شما تأثیر میگذارند. معمولاً این خطا به دلیل مشکلات قالب یا افزونه نمایش داده میشود و در زیر اقدامات عیبیابی توصیه شده آمده است.
- همه افزونههای وردپرس را تغییر نام داده و غیرفعال کنید. سپس، آنها را یکی یکی دوباره فعال کنید.
- قالب وردپرس را غیرفعال کنید و به قالب پیشفرض بروید
- اشکالزدایی وردپرس را فعال کنید و گزارشها را مشاهده کنید
- مشاهده لاگهای وب سرور
- افزایش محدودیت حافظه PHP
- وارد حالت بازیابی وردپرس شوید
برای اطلاعات بیشتر، به عیبیابی صفحه سفید مرگ وردپرس مراجعه کنید.
نتیجه گیری #
در این مقاله، شما مراحل عیبیابی را برای رفع خطاهای رایج وردپرس در سایت خود پیادهسازی کردید. در میان این مراحل، شما اقدامات سرور backend را پیادهسازی کردید که به شما امکان میدهد خطاها را کشف کرده و قبل از اینکه برای بازدیدکنندگان سایت وردپرس شما نمایش داده شوند، روی آنها کار کنید. برای اطلاعات بیشتر، به صفحه خطاهای رایج وردپرس مراجعه کنید .



