ویرایشگر بصری، انتخاب طرح رنگ و سایر جزئیات را در قسمت مدیریت وردپرس حذف می کنیم. ویرایشگر بصری، انتخاب طرح رنگ و سایر جزئیات را در پنل مدیریت وردپرس حذف می‌کنیم پنهان کردن "کلیدهای داغ"

من می خواهم این درس را به ایجاد یک پروفایل شخصی برای کاربران ثبت نام شده اختصاص دهم (افزودنی به درس ایجاد ثبت نام کاربر در سایت). اکنون کاربران می توانند آواتار خود را اضافه کنند، نام و نام خانوادگی خود را تغییر دهند، محل زندگی و تاریخ تولد خود را اضافه کنند. برای این، جدول کاربرانبیایید چند فیلد اضافه کنیم:

حالا بیایید یک صفحه پروفایل ایجاد کنیم profile.phpو به صفحه اضافه کنید index.phpبه آن پیوند دهید

پژواک"
پروفایل من"؛ حالا کد خود صفحه profile.php

مشخصات<?php echo $login; ?>

مشخصات



"؛ پژواک" ".$array["name_user"]." ".$array["نام خانوادگی"]."
"; switch ($array["birthdate_month"])(//تبدیل شماره ماه به نام "1" : $month = "January"; break; case "2" : $month = "February"; break; case " 3" : $month = "Mars"; break; case "4" : $month = "April"; break; case "5" : $month = "My"; break; case "6" : $month = "June "; break; case "7" : $month = "July"; break; case "8" : $month = "August"; break; case "9" : $month = "September"; break; case " 10" : $month = "اکتبر"; break; case "11" : $month = "نوامبر"; break; case "12" : $month = "دسامبر"؛ break; ) echo "تاریخ ثبت: ".$array ["reg_date"]."
"; echo "Sex: ".$array["sex"]."
"; echo "Birthday: ".$array["birthdate_day"]." ".$month." ".$array["birthdate_year"]."
"; echo "Country: ".$array["country"]."
"; echo "City: ".$array["city"]."
"; if($_GET["id"] == $id_user)(//فقط میزبان می تواند پژواک نمایه را ویرایش کند "ویرایش نمایه"؛ ) )else( print<<ورود:
وارد شدن: کلمه عبور:
ثبت نام بازیابی رمز عبور در اینجا; )؟>

طبیعتا با رفتن به این صفحه شاهد یک آواتار استاندارد خواهیم بود noAvatar.jpgو احتمالاً نام و نام خانوادگی، در صورتی که کاربر هنگام ثبت نام آنها را مشخص کرده باشد، بقیه موارد خالی خواهد بود. در انتهای این صفحه پیوندی به صفحه ویرایش پروفایل وجود دارد. edit.php. کد این صفحه بسیار سبک است و از فرم های ورود اطلاعات تشکیل شده است. به دلیل حجم نسبتا زیاد اینجا کامل نمیذارمش فقط یه قسمت میذارم امکان گرفتن کامل در فایل های سورس وجود داره.

همه فرم های دیگر مشابه هستند و به یک کنترل کننده اشاره می کنند save_edit.php، که تغییراتی را در پایگاه داده ایجاد می کند. همچنین کد نسبتاً بزرگی دارد و من آن را در اینجا هم نمی‌دهم، اما فقط کمی در مورد آنچه در آن اتفاق می‌افتد به شما می‌گویم (همچنین می‌توانید کد کامل را در فایل‌های منبع مشاهده کنید). اول از همه، اگر کاربر آپلود کرده باشد، آواتار ایجاد می کنیم، البته در غیر این صورت استاندارد را رها می کنیم. اگر چنین است، اولین کاری که انجام می دهیم این است که در پوشه آپلود کنیم آواتارها(به هر حال، این پوشه را ایجاد کنید و پس از بررسی با پسوندهای مجاز، مجوز نوشتن 755 را به آن بدهید). سپس یک تصویر جدید با فرمت بسته به حالت انتخاب شده ایجاد می شود: $rezim = 1ایجاد یک تصویر مربع Rezim $ = 2عکس متناسب با اصل است همچنین باید عرض تصویر تولید شده را تنظیم کنید. $wو کیفیت کیفیت دلار. با استفاده از تابع، تصویر ایجاد شده را با فرمت jpg ذخیره می کنیم imagejpegو یک نام تصادفی برای آن ایجاد کنید. حال باید تصویر قدیمی را حذف کنیم و پایگاه داده را با تصویر جدید به روز کنیم. این همه با عکس است.

تمام موارد دیگر در این فایل برای به روز رسانی داده های شخصی در مورد کاربر در نظر گرفته شده است و عبارت است از پرس و جوهای ساده به پایگاه داده برای به روز رسانی فیلدها. قبل از به روز رسانی، وجود متغیرهای ورودی بررسی می شود و با استفاده از ایمنی آنها بررسی می شود نوارهای شلاقیو کاراکترهای ویژه html. اگر آپدیت با موفقیت انجام شود، بلافاصله کاربر را به صفحه نمایه هدایت می کنیم.
اکنون آن را طوری می کنیم که کاربر وارد شده بتواند همه کاربران ثبت نام شده دیگر را ببیند. برای این کار یک صفحه ایجاد می کنیم user.php، که از طریق همه کاربران حلقه خواهد شد.

من قبلاً برای کاربران وردپرس نوشتم (به لینک نگاه کنید). اما مانند هر ابزاری (به جز پتک)، Adminimize کامل نیست و نمی تواند همه چیز را به طور کامل حذف کند، اگرچه این فقط به لطف برنامه نویسان Vorpress است.

این پست به صورت خودجوش متولد شد، می توانید از مهمان Blow تشکر کنید. اصل سؤال او این بود (و نه یک سری سؤال):

1. نحوه پنهان کردن "انتخاب طرح رنگی"برای کاربر؟

2. چگونه «کلیدهای داغ» و «ویرایشگر بصری» را در داشبورد وردپرس مخفی کنیم؟

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

برای "نمایه" - این یک فایل است user-edit.php، که در پوشه قرار دارد wp-admin.شما باید آن را با دقت ویرایش کنید، در غیر این صورت می توانید هزینه خوبی برای آزمایش های خود بپردازید.

راه حل (یکپارچه):

1. فایل را در کامپیوتر خود دانلود کنید و از آن یک کپی تهیه کنید (با دقت ....)

2. ما به دنبال کد Html هستیم که وظیفه نمایش اطلاعات مورد نیاز ما را بر عهده دارد.

3. با دقت در مورد آن نظر دهید و آن را با یک جایگزین دوباره "آپلود" کنید.

اکنون تمرین کنید (ویرایش User-edit.php):

راستش من یادم نیست چه نسخه ای از WP را در سایت آزمایشی دارم، اما قطعا کمتر از 2.8.2 نیست.

ابتدا فایل را در رایانه شخصی دانلود کردم و با استفاده از Chrome Code Viewer به خود کد نگاه کردم و کد مورد نیاز خود را در Notepad++ پیدا کردم.

(دو خط در هر طرف "-")

1. "ویژوال ویرایشگر" را پنهان کنید

تغییر به کد:

—>

ps: این کد را کپی نکنید، اما آن را در محل خود تغییر دهید - احتمال خطا وجود دارد !!!

2. "انتخاب طرح رنگ" را پنهان کنید.

امیدوارم متوجه تفاوت کدها شده باشید - در مجموع 7 کاراکتر اضافه شده است. برای پنهان کردن این مورد، ما به دنبال آن هستیم if (count($_wp_admin_css_colors) > 1)و در زیر خط همه کد بین کامنت بگذارید قبل از

3. "کلیدهای داغ" را پنهان کنید.

در درس دوم دو کلاس دیگر می نویسیم و قسمت داخلی فیلمنامه را به طور کامل تمام می کنیم.

طرح

هدف از این مجموعه آموزشی ایجاد یک برنامه کاربردی ساده است که به کاربران امکان ثبت نام، ورود به سیستم، خروج از سیستم و تغییر تنظیمات را می دهد. کلاسی که شامل تمام اطلاعات کاربر خواهد بود User نامیده می شود و در فایل User.class.php تعریف می شود. کلاسی که مسئول ورود / خروج خواهد بود UserTools (UserTools.class.php) نامیده می شود.

کمی در مورد نامگذاری کلاس

لحن صحیح این است که فایل های کلاس را با همان نام خود کلاس نام گذاری کنید. به این ترتیب تعیین هدف هر فایل در پوشه کلاس آسان است.

همچنین اضافه کردن .class یا .inc به انتهای نام فایل کلاس معمول است. بنابراین، ما به وضوح هدف فایل را تعریف می کنیم و می توانیم از .htaccess برای محدود کردن دسترسی به این فایل ها استفاده کنیم.

کلاس کاربر (User.class.php)

این کلاس هر کاربر را تعریف می کند. با رشد این نرم افزارممکن است تعریف "کاربر" به طور قابل توجهی تغییر کند. خوشبختانه، برنامه نویسی OOP اضافه کردن ویژگی های کاربر اضافی را آسان می کند.

سازنده

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

require_once "db.class.php"؛ کاربر کلاس ($id عمومی، نام کاربری عمومی، $hashedPassword عمومی، ایمیل عمومی $;
عمومی $joinDate;
//هنگامی که یک شی جدید ایجاد می شود سازنده فراخوانی می شود//یک آرایه انجمنی را با ردیف DB به عنوان آرگومان می گیرد. تابع __construct($data) ($this->id = (isset($data["id"])) ? $data["id"] : ""؛ $this->username = (isset($data[" نام کاربری"])) ? $data["username"] : ""; $this->hashedPassword = (isset($data["password"])) ? $data["password"] : ""; $this- >email = (isset($data["email"])) ? $data["email"] : ""; $this->joinDate = (isset($data["join_date"])) ? $data[" تاریخ عضویت"] : ""؛ )
تابع عمومی save($isNewUser = false) ( //یک شی پایگاه داده جدید ایجاد کنید. $db = new DB(); //اگر کاربر قبلا ثبت نام کرده باشد و ما //فقط اطلاعات او را به روز کنیم. if(!$isNewUser ) (//تنظیم آرایه داده $data = array("username" => ""$this->username"", "password" => """$this->hashedPassword"",
"email" => ""$this->email"");
//به روز رسانی ردیف در پایگاه داده $db->update($data, "users", "id = ".$this->id); )else (//اگر کاربر برای اولین بار ثبت نام می کند. $data = array("username" => ""$this->username"", "password" => """$this->hashedPassword"" , "email" => ""$this->email"", "join_date" => """.date("Y-m-d H:i:s",time())."""); $this-> id = $db->insert($data, "users"); $this->joinDate = time(); ) return true; ) ) ?>

توضیح

قسمت اول کد، خارج از منطقه کلاس، اتصال کلاس به پایگاه داده را فراهم می کند (زیرا تابعی در کلاس User وجود دارد که به این کلاس نیاز دارد).

به جای متغیرهای کلاس "محافظت شده" (که در درس 1 استفاده می شود)، آنها را به عنوان "عمومی" تعریف می کنیم. این بدان معنی است که هر کد خارج از کلاس هنگام کار با شی User به این متغیرها دسترسی دارد.

سازنده آرایه ای را می گیرد که در آن ستون های جدول کلید هستند. متغیر کلاس را با استفاده از $this->variablename تعریف می کنیم. در مثال این کلاس، ابتدا بررسی می کنیم که آیا مقدار یک کلید خاص وجود دارد یا خیر. اگر چنین است، متغیر کلاس را روی آن مقدار قرار می دهیم. در غیر این صورت یک رشته خالی. کد از شکل کوتاه نماد گردش مالی استفاده می کند اگر:

$value = (3 == 4) ? "الف" : "ب"؛

AT این مثالبررسی می کنیم که آیا 3 برابر است با چهار! اگر بله - پس $value = "A"، نه - $value = "B". در مثال ما، نتیجه $value = "B" است.

ذخیره اطلاعات کاربران در پایگاه داده

تابع ذخیره برای ایجاد تغییرات در جدول پایگاه داده با مقادیر فعلی در شی User استفاده می شود. این تابع از کلاس DB که در آموزش اول ایجاد کردیم استفاده می کند. با استفاده از متغیرهای کلاس، آرایه $data تنظیم می شود. اگر این اولین بار است که کاربر ذخیره می شود، $isNewUser به عنوان $true ارسال می شود (پیش فرض نادرست است). اگر $isNewUser = $true باشد، تابع insert() کلاس DB فراخوانی می شود. در غیر این صورت تابع update() فراخوانی می شود. در هر دو مورد، اطلاعات از شی کاربر در پایگاه داده ذخیره می شود.

کلاس UserTools.class.php

این کلاس حاوی توابع مرتبط با کاربران است: login()، logout()، checkUsernameExists() و get(). اما با گسترش این اپلیکیشن، می توانید بسیاری دیگر را اضافه کنید.

//UserTools.class.php require_once "User.class.php"; require_once "db.class.php"؛
کلاس UserTools(
//کاربر را وارد کنید. ابتدا بررسی می کند که آیا // نام کاربری و رمز عبور با یک ردیف در پایگاه داده مطابقت دارند یا خیر. //در صورت موفقیت آمیز بودن، متغیرهای جلسه // را تنظیم کنید و شی کاربر را در آن ذخیره کنید.
ورود به سیستم عملکرد عمومی ($username، $password)
{
$hashedPassword = md5($password); $result = mysql_query("SELECT * FROM users WHERE username = "$username" AND password = "$hashedPassword""); if(mysql_num_rows($result) == 1) ($_SESSION["user"] = serialize(کاربر جدید(mysql_fetch_assoc($result))); $_SESSION["login_time"] = time(); $_SESSION["logged_in" "] = 1؛ بازگشت true; )else( return false; ))
//کاربر را از سیستم خارج کنید. متغیرهای جلسه را از بین ببرید. عملکرد عمومی logout() ( unset($_SESSION["user"]); unset($_SESSION["login_time"]); unset($_SESSION["logged_in"]); session_destroy(); ) //بررسی کنید ببینید آیا یک نام کاربری وجود دارد //این در هنگام ثبت نام فراخوانی می شود تا مطمئن شود همه نام های کاربری منحصر به فرد هستند. عملکرد عمومی checkUsernameExists($username) ($result = mysql_query("انتخاب شناسه از کاربرانی که username="$username""); if(mysql_num_rows($result) == 0) ( return false; )else( return true; )
}
//دریافت یک کاربر //یک شی User را برمی گرداند. شناسه کاربران را به عنوان یک تابع عمومی ورودی دریافت می کند get($id) ($db = new DB(); $result = $db->select("users", "id = $id")؛ بازگشت کاربر جدید($result )))
?>

تابع login().

تابع login () کاملاً توضیحی است. آرگومان های کاربر $username و $password را می گیرد و بررسی می کند که آیا مطابقت دارند یا خیر. اگر همه چیز مطابقت داشت، یک شی User با تمام اطلاعات ایجاد می کند و آن را در جلسه ذخیره می کند. توجه داشته باشید که ما فقط از تابع PHP serialize() استفاده می کنیم. این یک نسخه ثابت از شی ایجاد می کند که می تواند به راحتی با unserialize (). همچنین زمان ورود ذخیره خواهد شد. این می تواند بعدا برای ارائه اطلاعات در مورد مدت زمان اقامت در سایت به کاربران استفاده شود.

همچنین ممکن است متوجه شوید که ما $_SESSION["logged_in"] را روی 1 تنظیم می کنیم. این به ما امکان می دهد به راحتی در هر صفحه بررسی کنیم که آیا کاربر وارد شده است یا خیر. کافی است فقط این متغیر را بررسی کنید.

تابع ()logout

همچنین یک تابع ساده. تابع unset() PHP متغیرها را در حافظه پاک می‌کند، در حالی که session_destroy () جلسه را حذف می‌کند.

تابع checkUsernameExists().

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

تابع get().

این تابع یک شناسه کاربری منحصربفرد می گیرد و با استفاده از کلاس DB، یعنی تابع select() پایگاه داده را پرس و جو می کند. یک آرایه انجمنی با برخی اطلاعات کاربر می گیرد و یک شی کاربر جدید ایجاد می کند و آرایه را به سازنده ارسال می کند.

کجا میشه ازش استفاده کرد؟ به عنوان مثال، اگر صفحه ای ایجاد می کنید که نیاز به نمایش پروفایل های کاربر خاص دارد، باید این اطلاعات را به صورت پویا دریافت کنید. به این صورت می توانید این کار را انجام دهید: (فرض کنید URL http://www.website.com/profile.php?userID=3 باشد)

//note: ابتدا باید یک اتصال پایگاه داده را باز کنید. //برای اطلاعات بیشتر در مورد انجام این کار به قسمت 1 مراجعه کنید. //همچنین باید مطمئن شوید که فایل های کلاس را وارد کرده اید.
$tools = new UserTools(); $user = $tools->get($_REQUEST["userID"]); echo "Username: ".$user->username.""; echo "Joined On: ".$user->joinDate."";

به آسانی! حقیقت؟

لمس نهایی سمت سرور: global.inc.php

global.inc.php برای هر صفحه از سایت مورد نیاز است. چرا؟ به این ترتیب ما تمام عملیات های معمولی را که نیاز داریم در صفحه قرار می دهیم. برای مثال، session_start() را شروع می کنیم. اتصال پایگاه داده نیز باز خواهد شد.

require_once "classes/UserTools.class.php";
require_once "classes/DB.class.php";
//اتصال به پایگاه داده $db = new DB(); $db->connect();
//initialize UserTools شی $userTools = new UserTools(); //شروع جلسه
session_start();
//بازخوانی متغیرهای جلسه اگر وارد شده باشید if(isset($_SESSION["logged_in"])) ($user = unserialize($_SESSION["user"]); $_SESSION["user"] = serialize($userTools-> get($user->id)); ) ?>

داره چیکار میکنه؟

اینجا چند چیز در جریان است. اول از همه، ما یک اتصال به پایگاه داده را باز می کنیم.

پس از اتصال، تابع session_start() را شروع می کنیم. اگر کاربر قبلاً وارد شده باشد، عملکرد یک جلسه ایجاد می کند یا جلسه فعلی را ادامه می دهد. از آنجایی که برنامه ما برای ورود / خروج کاربران طراحی شده است، این عملکرد در هر صفحه مورد نیاز است.

در مرحله بعد، بررسی می کنیم که آیا کاربر وارد شده است یا خیر. در این صورت، $_SESSION["user"] را برای نمایش جدیدترین اطلاعات کاربر به روز می کنیم. به عنوان مثال، اگر کاربر ایمیل خود را تغییر دهد، جلسه همچنان ایمیل قبلی را ذخیره می کند. اما با کمک به روز رسانی خودکار، این اتفاق نمی افتد.

این پایان بخش دوم است! فردا منتظر درس نهایی در مورد این موضوع باشید.

بهترین ها!

مسائل کلی

س:نمایه ساز فعالیت سرور را نشان می دهد، اما همه درخواست ها و جلسات را نشان نمی دهد.

آ:فراموش نکنید که روی دکمه Start کلیک کنید تا ضبط جلسات شروع شود.

س:امکان اتصال به MySQL وجود داشت، اما Session ها نشان داده نمی شوند.

آ: Neor Profile SQL به عنوان یک سرور پروکسی کار می کند. این بدان معنی است که فقط جلساتی که از نمایه ساز عبور می کنند را می توان نشان داد. برنامه (یا سایت) شما باید بتواند مانند یک سرور MySQL معمولی به نمایه ساز متصل شود. نمایه ساز فقط از اتصالات ورودی TCP استفاده می کند. و سپس نتیجه را در تب Sessions خواهید دید.

س:چرا در برخی از جلسات درخواست ها با زمان صفر است؟

آ:درخواست های با زمان صفر بسیار سریع و بدون تاخیر هستند. برای مثال، اگر سرور قدرتمند و جداول بهینه‌سازی شده‌ای داشته باشید، می‌توانند توسط DBMS ذخیره شوند یا خیلی سریع اجرا شوند.

س:% از نظر زمان و مدت در یک جلسه به چه معناست؟

آ:"Time %" درصدی از کل زمان اجرای جلسه است. "Duration %" کسری از طولانی ترین درخواست در جلسه است (نسبت به طولانی ترین درخواست).

س:من از JetProfiler استفاده می کنم و تنظیم آن راحت تر است.

آ: JetProfiler اطلاعات را از سرورهای MySQLاز طریق دستور "show status" و نمی تواند تمام اطلاعات روی سرور را دریافت کند، زیرا به صورت مجزا کار می کند. Neor Profile SQL کاملاً تمام پرس و جوهای پایگاه داده را نشان می دهد. و این مستلزم پیکربندی برنامه شما برای مسیریابی جریان درخواست از طریق پروفایلر است.

س:دکمه نمایه در برگه SQL نتیجه را نشان نمی دهد

آ:ویژگی پروفایل در ویرایشگر SQL از طریق دستور SHOW PROFILES کار می کند که از نسخه 5.0.37 به MySQL Community Server اضافه شده است. نسخه سرور MySQL خود را بررسی کنید.

س:آیا امکان ساخت کنسول پروفایلر وجود دارد؟

آ:برای کنسول، از یک دسته DBMS و tail log یا ابزارهای مخصوص کنسول استفاده کنید که تعداد کمی از آنها وجود دارد. Neor Profile SQL یک برنامه سیستم عامل ویندوز است که برای میزبانی در سیستم توسعه دهنده در نظر گرفته شده است.

س:پروفایلر کار می کند اما به دلایلی نمودار اصلی آمار را نمایش نمی دهد؟

آ:نمودار اصلی از دستور SHOW STATUS برای سرور اصلی استفاده می کند. ممکن است شما اجازه اجرای این دستور را در سرور نداشته باشید. مطمئن شوید که مجوز این دستور را دارید.

س:چگونه نصب کننده را در حالت بی صدا اجرا کنیم؟

آ: sqlprofiler-4.1.1.exe /S /D:C:Program Files (x86)Neor Profile SQL

پنجره ها

س:چگونه اتصال پروفایلر را بررسی کنیم؟

آ:از کلاینت کنسول MySQL برای اتصال به پروفایلر استفاده کنید. اگر جلسه خود را در تب Sessions مشاهده کردید، به این معنی است که همه چیز به درستی تنظیم شده است.
مثلا:
سپس انجام دهید SQL سادهدستور:
نمایش جداول؛
و در تب Sessions در پروفایلر نگاه کنید.

لینوکس

س:نمی توان از طریق لوکال هاست وصل شد.

آ:لینوکس سعی می کند لوکال هاست را با یک اتصال سوکت مرتبط کند، اما Neor Profile SQL فقط با اتصالات TCP کار می کند. آدرس سرور را در پروفایلر به جای لوکال هاست روی 127.0.0.1 قرار دهید. همین کار را در تنظیمات اپلیکیشن خود انجام دهید.
مثلا:
mysql --host=127.0.0.1 --user=LOGIN --password=PASSWORD --port=4040

س:نمی توان به 127.0.0.1 وصل شد.

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

س:چگونه Neor Profile SQL را تحت OpenSUSE نصب کنیم؟

آ:در حال حاضر ما فقط از بسته DEB که تحت اوبونتو، دبیان و سازگار اجرا می شود، پشتیبانی می کنیم توزیع های لینوکس. شما می توانید یک فایل RPM به تنهایی بسازید و کمک کنید.

س:چرا نمی توانم درخواست های Sysbench را رهگیری کنم؟

آ:نمایه ساز فقط از اتصالات ورودی TCP استفاده می کند. Sysbench را با پارامترهای میزبان و پورت اجرا کنید:
sysbench --test=oltp --mysql-host=127.0.0.1 --mysql-port=4040--mysql-user=root --mysql-password=password آماده سازی

MacOS X

س:نمایه ساز نمی تواند به سرور MAMP MySQL متصل شود.

آ:مسئله اتصال شبکهدر تنظیمات MySQL:

  1. MAMR
    نسخه رایگان- پیکربندی استاندارد MySQL را در پوشه کپی کنید
    /Applications/MAMP/conf/my.cnf
    نسخه حرفه ای - منوی FILE - EDIT - MySQL را باز کنید
  2. در پیکربندی my.cnf خط skip-networking را حذف کنید
  3. در تنظیمات پروفایلر آدرس میزبان DB را از localhost به 127.0.0.1 تغییر دهید

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

در Neor Profile SQL، پورت پیش‌فرض 4040 است. برای جمع‌آوری کوئری‌های SQL، باید مقادیر اتصال پیش‌فرض MySQL میزبان و پورت 3306 را در اسکریپت خود تغییر دهید. در زیر نمونه‌هایی از نحوه انجام این کار آورده شده است.

string connStr = " server=127.0.0.1;port=4040;پایگاه داده=YOUR_DATABASE;user=YOUR_USER;password=YOUR_PASSWORD;";
http://dev.mysql.com/doc/refman/5.1/en/connector-net-tutorials-intro.html


تغییر پورت در CMS محبوب

وردپرس

فایل: wp-config.php
Code: define("DB_HOST", "localhost :4040 ");

پرستاشاپ

فایل: config/settings.inc.php
کد: define("_DB_SERVER_", "localhost :4040 ");

گاری باز

فایل:config.php
Code: define("DB_HOSTNAME", "localhost :4040 ");