پایگاه دانش, خطاهای وردپرس

نحوه عیب یابی و رفع مشکلات مشترک زمپ و وردپرس

عیب یابی زمپ و رفع مشکلات وردپرس

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

مشکل 1: Maximum PHP Execution Time Exceeded

این احتمالاً رایج ترین مسئله است که کاربران XAMPP ممکن است برای اولین بار با آن روبرو شوند. شما ممکن است هسته وردپرس، قالب وردپرس یا افزونه وردپرس را بروزرسانی کنید و با خطای Maximum execution time of 30 seconds exceeded مواجه شوید.

خطا Maximum PHP Execution Time Exceeded

خبر خوب این است که این یک مشکل واقعاً ساده است.

دلیل آن این است که تنظیمات کنترل نسخه PHP که در نصب XAMPP شما اجرا می شود، زمان اجرای اسکریپت را به 30 ثانیه محدود می کنند. با این حال، نصب افزونه های بزرگ، به روزرسانی هسته وردپرس یا انجام بسیاری از کارهای متداول وردپرس بیش از 30 ثانیه طول می کشد.

برای برطرف کردن مشکل، باید یک گزینه PHP واحد را در فایل php.ini نصب XAMPP خود تنظیم کنید.

دو روش برای دستیابی به این فایل وجود دارد.

1. کنترل پنل XAMPP را باز کنید، بر روی Config در ردیف Apache کلیک کنید و PHP (php.ini) را انتخاب کنید. این فایل را در یک ویرایشگر متن باز می کند، اما احتمالاً ویرایشگر متن مورد نظر شما نیست. اگر خواستید از ویرایشگر متن دیگری استفاده کنید از راه دوم که در ادامه ذکر می شود استفاده کنید.

خطا Maximum PHP Execution Time Exceeded

2. به پوشه XAMPP خود بروید، پوشه PHP را باز کنید و به دنبال فایلی با نام php.ini باشید، سپس آن فایل را با ویرایشگر متن دلخواه خود باز کنید. (مثلا اگر زمپ را مستقیما در درایو C نصب کرده اید به مسیر C:\xampp\php\php.ini بروید)

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

مقدار پیش فرض 30 ثانیه است، اما بسیاری از محیط های میزبان مشترک این محدودیت را 120 ثانیه تعیین می کنند. افزایش این مقدار به 120 باید باعث شود تا هنگام کار با وب سایت های وردپرس مجدداً درگیر این مسئله خاص نشوید.

افزایش زمان اجرا در زمپ

هر زمان که تغییری در php.ini ایجاد کردید باید پرونده را ذخیره کنید، آن را ببندید و سپس Apache را در کنترل پنل XAMPP متوقف کرده و مجدداً راه اندازی کنید. Apache فقط هنگام راه اندازی مقادیر را در php.ini می خواند. بنابراین هرگونه تغییر در php.ini در حالی که آپاچی در حال اجراست انجام شود، تا شروع مجدد آپاچی و خواندن مقادیر جدید، اثری نمی گذارد.

مشکل 2: حداکثر اندازه پرونده برای بارگذاری

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

حداکثر اندازه پرونده برای بارگذاری در زمپ

این مسئله دیگری است که با ایجاد برخی تغییرات در php.ini قابل حل است.

برگردید به php.ini. این بار به دنبال خط upload_max_filesize باشید. به طور پیش فرض، این مقدار بر روی 2 مگابایت تنظیم شده است. فقط کافی است آن را به عددی بزرگتر تغییر دهید.

افزایش حجم آپلود در زمپ

قبل از بستن php.ini، به دنبال خطی باشید که post_max_size را تعریف کند.

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

افزایش حجم پست در زمپ

همچنین اگر فایل php.ini را بررسی کنید، متوجه می شوید که برای هر تنظیم یک آدرس وجود دارد و با کلیک بر روی آن می توانید اطلاعات بیشتری کسب کنید.

مشکل 3: Fixing Apache Port Conflicts

یکی دیگر از پیام های خطایی که مشاهده آن هنگام کار با XAMPP بسیار مرسوم است، اعلانی در کنترل پنل زمپ است که درگاه های Apache نیاز به استفاده از آنها دارد، درگاه های 443 و 80، قبلاً توسط برنامه دیگری مورد استفاده قرار گرفته است.

خطا Fixing Apache Port Conflicts در زمپ

رفع این خطا هم در زمپ بسیار ساده است.

برنامه متخلف اسکایپ (Skype) است. اگر همین پیام را مشاهده کردید، برای حل مشکل اسکایپ را کاملاً ببندید و XAMPP را مجدداً راه اندازی کنید.

اگر بستن اسکایپ این مشکل را برطرف نکرد، موارد دیگری را که می توانید امتحان کنید عبارتند از:

1. Stop World Wide Web Publishing Service، یک برنامه کاربردی از پیش نصب شده در بسیاری از رایانه های ویندوز. برای متوقف کردن آن، گزینه Administrative Tools > Services را در کنترل پنل ویندوز باز کنید، به دنبال برنامه بروید، آن را انتخاب کنید و روی Stop کلیک کنید.

2. برای مجبور کردن پورت ها به رفع انسداد ماندن، از فایروال ویندوز استفاده کنید. این کار را با باز کردن کنترل پنل ویندوز و پیمایش به Windows Firewall > Advanced Settings انجام دهید. سپس یک قانون ورودی جدید اضافه کنید تا پورت 80 و 443 مجبور به رفع انسداد شوند.

گاهی اوقات رفع انسداد پورت 80 می تواند چالش برانگیز باشد. یا ممکن است این مورد باشد که شما به استفاده از پورت 80 برای ادامه استفاده از آن نیاز دارید. در این حالت می توانید XAMPP را تنظیم کنید تا به جای پورت 80 روی پورت 8080 کار کند.

برای ایجاد این تغییر، کنترل پنل زمپ را باز کنید اما MySQL یا Apache را شروع نکنید. در عوض، روی گزینه Configure در ردیف Apache کلیک کنید و گزینه Apache (httpd.conf) را انتخاب کنید.

خطا Fixing Apache Port Conflicts

از طرف دیگر می توانید برای باز کردن این فایل به مسیر هم C:\xampp\apache\conf\httpd.conf بروید.

بعد از باز کردن فایل، Listen 80 را پیدا کنید و به Listen 8080 تغییر دهید. سپس خط ServerName localhost:80 را پیدا کنید و به ServerName localhost:8080 تغییر دهید. تغییرات را ذخیره کرده و فایل را ببندید.

با ایجاد تغییرات، XAMPP را مجدداً راه اندازی کنید و Apache و MySQL را استارت کنید. پورت 80 دیگر نباید در حال استفاده باشد. در عوض، باید Apache را ببینید که اکنون روی درگاه های 443 و 8080 کار می کند.

برای انجام این تغییر دو کار دیگر وجود دارد:

1. برای دسترسی به همه وب سایت های دارای XAMPP به جای http://locahost/ از http://localhost:8080/ استفاده کنید.

2. اگر پیش از تعویض پورت، قبلاً سایت وردپرس را به صورت محلی نصب کرده باشید، باید آدرس WP_HOME و WP_SITEURL را در wp-config.php بصورت دستی به روز کنید تا پیشوند دامنه جدید منعکس شود.

رفع خطا Fixing Apache Port Conflicts

البته، شما از دایرکتوری که وردپرس را بصورت محلی نصب کرده اید استفاده می کنید نه “yourWordPressSite” و یا ممکن است در همان روت اصلی یعنی htdocs سایت خود را راه اندازی کرده باشید که در این صورت نیازی به وارد کردن هیچ چیزی جلوی آدرس ندارید. (http://localhost:8080/)

4. محدودیت در اضافه کردن آیتم های جدید به منو

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

این یک نمونه دیگر از مشکل ناشی از تنظیمات PHP موجود در فایل php.ini است. بنابراین بیایید جلو برویم و آن را باز کنیم.

هنگامی که فایل را باز کردید، به دنبال خط max_input_vars باشید.

محدودیت در اضافه کردن آیتم های جدید به منو در زمپ

مقدار پیش فرض برای این مورد 1000 است. و به دلخواه می توانید آن را افزایش دهید.

برای تعیین مقدار مورد نیاز می توانید تعداد آیتم های خود در 11 ضرب کنید و سپس 9 را به آن اضافه کنید. مثلا، در صورت نیاز به قرار دادن 120 آیتم در  فهرست، باید حداقل 1329 (120 * 11 + 9) را قرار دهید.

اگر کنجکاو هستید و دوست دارید، اطلاعات بیشتری را در درباره چرایی تولید این فرمول بدست آورید می توانید صفحه StackOverflow را ببینید.

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

به پایان این مقاله رسیدیم، امیدواریم که این مقاله به شما کمک کند تا خطاهای رایج و مشترک که در XAMPP و وردپرس رخ می دهد را حل کنید.

(1) نظرات کاربران

  1. FTEMEH گفت:

    مطالب بسیار عالی بودند.

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

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