آموزش وردپرس

چگونگی ویرایش فایل wp-config.php در وردپرس

آیا تا به حال در هنگام خواندن خودآموز به این موضوع برخورده‌اید که از شما خواسته شده فایل wp-config.php را ویرایش کنید و شما هیچ اطلاعی در این زمینه نداشته باشید؟ بسیار خوب، ما این اطلاعات را برای شما تامین خواهیم کرد. ما در این مقاله به شما نشان خواهیم داد که چگونه می‌توان فایل wp-config.php را به شیوه‌ای مناسب در وردپرس ویرایش کرد.

فایل wp-config.php چیست؟

همانطور که از نام آن معلوم است، wp-config.php یک فایل پیکربندی است که در تمامی سایت‌های خود-میزبان(self-hosted) وردپرس حضور دارد. فایل wp-config.php، برخلاف سایر فایل‌ها از ابتدا در وردپرس وجود ندارد بلکه این فایل در طی فرایند نصب، به طور خاص برای سایت شما ایجاد می‌گردد.

database information

وردپرس اطلاعات پایگاه داده(دیتابیس) شما را در فایل wp-config.php ذخیره می‌کند. وب‌سایت وردپرس شما، بدون داشتن این اطلاعات کار نخواهد کرد و در این صورت با خطای ‘error establishing database connection’ روبرو خواهید گشت.

فایل wp-config.php، جدای از اطلاعات دیتابیس حاوی تنظیمات بالارده‌ی دیگری نیز هست. در بخش دیگری از این مقاله این مورد را توضیح خواهیم داد.

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

البته با خواندن این مقاله می‌توانید فایل wp-config.php را ویرایش کنید. در اینجا به شما نشان می‌دهیم که چگونه می‌توان بدون بهم ریختن فایل wp-config.php آن را طی چند مرحله پایین ویرایش کرد.

 

مرحله اول

در اولین قدم باید یک بک‌آپ کامل از وردپرس تهیه کنید. فایل wp-config.php به قدری برای سایت وردپرس حساس است که کوچکترین اشتباه در آن، سایت شما را غیرقابل دسترس می‌سازد.

شما برای اتصال به وب‌سایت خود به یک کلاینت FTP نیاز خواهید داشت. کاربران ویندوز می‌توانند WinSCP یا SmartFTP را نصب کنند و کاربران مک می‌توانند Transmit یا CyberDuck را امتحان کنند. کلاینت FTP به شما اجازه می‌دهد تا فایل‌ها را بین یک سرور و کامپیوتر خود انتقال دهید.

با استفاده از کلاینت FTP به وب‌سایت خود متصل شوید. شما به اطلاعات ورود به FTP نیاز خواهید داشت که می‌توانید آن اطلاعات را از میزبان وبتان بگیرید. در صورتی که از اطلاعات ورود به FTP  اطلاع ندارید می‌توانید از میزبان وب خود درخواست پشتیبانی کنید.

فایل wp-config.php معمولا در پوشه root وب‌سایت، در کنار پوشه‌های دیگری چون /wp-content/ قرار دارد.

FTP

خیلی ساده بر روی فایل راست کلیک کرده و گزینه دانلود را از منو انتخاب کنید. کلاینت FTP شما اکنون فایل wp-config.php را برای کامپیوترتان دانلود خواهد کرد. شما می‌توانید فایل را باز کرده و با استفاده از یک برنامه ساده ویرایشگر متن همچون Notepad یا Text Edit آن را ویرایش کنید.

آشنایی با فایل wp-config.php

بیایید قبل از شروع کار ویرایش، باهم نگاهی به کد کامل فایل پیشفرض wp-config.php بیندازیم. شما در اینجا نیز می‌توانید یک نمونه از این فایل را ببینید.

<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link
https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key
service}
* You can change these at any point in time to invalidate all existing
cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

/**#@-*/

/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';

/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during
development.
* It is strongly recommended that plugin and theme developers use
WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', false);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

هر یک از بخش‌های فایل wp-config.php در این فایل به خوبی ثبت شده است. تقریبا تمامی تنظیمات در اینجا به وسیله ثابت های (constant) PHP  تعریف شده‌اند.

define( 'constant_name' , 'value');

 

حال نگاه دقیق‌تری به هر یک از قسمت‌های موجود در فایل wp-config.php می‌اندازیم.

تنظیمات MySQL در فایل wp-config.php

تنظیمات اتصال دیتابیس وردپرس شما، در زیر بخش ‘MySQL setting’ فایل wp-config.php قرار دارد. برای پر کردن این قسمت شما به میزبان MySQL، نام دیتابیس، یوزرنیم و پسورد دیتابیس خود نیاز خواهید داشت.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
 
/** MySQL database username */
define('DB_USER', 'username_here');
 
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
 
/** MySQL hostname */
define('DB_HOST', 'localhost');
 
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
 
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

 

 

شما می‌توانید اطلاعات دیتابیس خود را از cPanel حساب میزبان وب خود، در زیر قسمت دیتابیس‌های برچسب‌خورده به دست آورید.

database

اگر نمی‌توانید یوزرنیم و پسورد MySQL یا دیتابیس وردپرس خود را پیدا کنید، باید با میزبان وب خود تماس بگیرید.

Keys و Salts تایید هویت

Authentication unique keys and salts  ، کلیدهای امنیتی هستند که به بهبود امنیت سایت وردپرس شما کمک می‌کنند. این کلیدها برای جلسه های کاربران و کوکی‌های ایجاد شده توسط وردپرس، رمزهای محکمی ایجاد می‌کند.

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');
 
/**#@-*/

 

شما می‌توانید کلیدهای امنیتی وردپرس را ایجاد کرده و اینجا Paste کنید. این امر بخصوص اگر به این مشکوک شده‌اید که سایت وردپرس شما در معرض خطر قرار دارد، بسیار مفید واقع خواهد شد. تغییر کلیدهای امنیتی، تمامی کاربرانی وارد شده(logged in) به وردپرس شما را از سایت خارج کرده(logout) و آنها را مجبور می‌کند تا دوباره وارد سایت شوند.

پیشوند جداول دیتابیس

وردپرس به طور پیش‌فرض wp-prefix را به تمامی جداول ایجاد شده توسط وردپرس، اضافه می‌کند. توصیه می‌شود prefix جدول دیتابیس وردپرس خود را به صورت رندم(تصادفی) تغییر دهید. این کار باعث می‌شود حدس زدن جداول وردپرس برای هکرها دشوار شود و شما را از برخی حملات معمول نفوذی SQL نجات می‌دهد.

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

 

 

لطفا توجه داشته باشید که شما نمی‌توانید این مقدار را برای یک سایت وردپرس موجود تغییر دهید. می‌توانید دستورالعمل تغییر این تنظیمات بر روی سایت موجود وردپرس را در مقاله چگونگی تغییر prefix دیتابیس وردپرس دنبال کنید.

حالت اشکال‌زدایی(Debugging Mode) وردپرس

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

define('WP_DEBUG', false);

تنظیمات مسیر مطلق(Absolute Path Setting)

آخرین بخش فایل wp-config.php، مسیر مطلق را تعریف می‌کند، این مسیر برای راه‌اندازی متغیر(var)های وردپرس و فایل‌های مشمول استفاده می‌شود. در این قسمت نباید هیچ تغییری ایجاد کنید.

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

تنظیمات و هک‌های مفید wp-config.php

برخی تنظیمات دیگر نیز در فایل wp-config.php وجود دارند که می‌توانند در ترمیم خطاها و حل بسیاری از خطاهای معمول وردپرس به شما کمک کنند.

تغییر پورت MySQL و سوکت‌ها در وردپرس

اگر فراهم‌آورنده میزبان وردپرس شما، برای میزبان MySQL از پورت‌های جایگزین استفاده می‌کند، شما باید مقدار DB-HOST را تغییر دهید تا شامل شماره پورت بشود. توجه داشته باشید که این یک خط جدید نیست و شما باید مقدار موجود DB_HOST را تغییر دهید.

define( 'DB_HOST', 'localhost:5067' );

فراموش نکنید که باید شماره پورت 5067  را به هر شماره پورتی که میزبان وبتان ارائه داده، تغییر دهید.

اگر میزبان شما برای MySQL، از سوکت‌ها یا میله(pipe)ها استفاده می‌کند، آنگاه شما باید آن را به این طریق اضافه کنید:

define( 'DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock' );

 

تغییر URLهای وردپرس با استفاده از فایل wp-config.php

در هنگام تغییر نام دامنه یا میزبان وب یک سایت وردپرس، ممکن است مجبور شوید URLهای وردپرس را تغییر دهید. شما می‌توانید این URLها را در صفحه Setting»General تغییر دهید.

URL

همچنین می‌توانید این URLها را با استفاده از فایل wp-config.php تغییر دهید. اگر به دلیل مشکل error too many directs نمی‌توانید به حوزه ادمین وردپرس دسترسی داشته باشید این شیوه راه‌حل دم‌دست‌تری خواهد بود. خیلی ساده این دو خط را به فایل wp-config.php خود اضافه کنید:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

 

فراموش نکنید که باید نام دامنه خود را جایگزین example.com کنید. همچنین باید به یاد داشته باشید که برخورد موتورهای جستجو در مقابل www.example.com  با برخورد آن با example.com به عنوان دو محل متفاوت، فرق دارد. در صورت وجود پیشوند www شما باید نام دامنه خود را مطابق با آن اضافه کنید.

تغییر دایرکتوری آپلودها با استفاده از wp-config.php

وردپرس همه آپلودهای رسانه‌ای شما را به صورت پیش‌فرض در دایرکتوری /wp-content/uploads/ ذخیره می‌کند. اگر می‌خواهید فایل‌های رسانه خود را در جای دیگری ذخیره کنید می‌توانید با اضافه کردن این خط کد در فایل wp-config.php این کار را انجام دهید.

define( 'UPLOADS', 'wp-content/media' );

توجه داشته باشید که مسیر دایرکتوری آپلودها با ABSPATH که بطور اتوماتیک در وردپرس قرار گرفته مرتبط است. برای اطلاع از جزئیات بیشتر می‌توانید به مقاله چگونگی تغییر محل پیش‌فرض آپلود رسانه در وردپرس مراجعه کنید.

از کارانداختن آپدیت‌های اتوماتیک در وردپرس

وردپرس در نسخه وردپرس 3.7، آپدیت‌های اتوماتیکی ارائه داده است. این آپدیت‌ها به سایت‌های وردپرس این امکان را می‌دهند تا اگر یک آپدیت جزئی ارائه شده و در دسترس قرار گیرد، بصورت اتوماتیک آپدیت شوند. با وجود اینکه آپدیت‌ها برای امنیت وردپرس بسیار عالی هستند؛ در برخی موارد می‌توانند باعث از کار انداختن و غیر قابل دسترس شدن سایت وردپرس گردند.

اضافه کردن این خط کد به فایل wp-config.php تمامی آپدیت‌های اتوماتیک موجود بر روی سایت وردپرس شما را از کار خواهد انداخت.

define( 'WP_AUTO_UPDATE_CORE', false );

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

محدود کردن بازنگری پست در وردپرس

قابلیت‌های ذخیره خودکار و بازنگری در وردپرس تعبیه شده‌اند. خودآموز ما درباره چگونگی بی‌اثر کردن تغییرات اعمال شده در وردپرس با بازنگری پست را مشاهده کنید. با این حال اگر شما در حال اداره یک سایت بزرگ هستید، بازنگری‌ها می‌توانند اندازه بک‌آپ دیتابیس وردپرس شما را افزایش دهند.

این خط کد را به فایل wp-config.php خود اضافه کنید تا تعداد نسخه های ذخیره شده برای یک پست را محدود کنید.

define( 'WP_POST_REVISIONS', 3 );

 

تعداد نسخه هایی که می‌خواهید ذخیره شود را جایگزین عدد 3 کنید. اکنون وردپرس بازنگری‌های قدیمی‌تر را بطور اتوماتیک دور می‌اندازد. با وجود این، بازنگری‌های قدیمی‌تر پست شما هنوز هم در دیتابیس شما ذخیره هستند. برای حذف آن به مقاله ما در مورد حذف بازنگری‌های قدیمی پست در وردپرس مراجعه کنید.

امیدواریم این مقاله در یادگیری چگونگی ویرایش فایل wp-config.php در وردپرس و کارهای جذابی که می‌توانید با آن انجام دهید به شما کمک کرده باشد.

 

< آخرین آموزش‌های پایگاه دانش تسنیم را در تلگرام دنبال کنید >

نوشته های مشابه

‫4 دیدگاه ها

  1. سپاس بسیااااااااااااار ممنون که اینقدر شفاف و عالی توضیح دادین
    بخاطر قسمتAUTH_KEY و بقیش من 4تا 6ساعت وقت گذاشتم ور رفتم،توی اینترنت ویدِو های آموزشی دیدم تقریبا هیچ کمکی نکردن و همیشه یک قسمتو میپریدنو خودت بایدحدس میزدی اما شما قدم به قدم،باتصویر و با قسمتی که سبزرنگ بود و کمک میکرد کار منی که دارم طراحی سایت رو یاد میگیرمو راه انداختین
    موفق باشین یا علی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا