فعال سازی نمایش ارور و لاگ ارور در WHMCS به صورت دستی در configuration.php
سیستم مدیریت خطا WHMCS شامل بسیاری از گزینه های مفید است. نمایش خطاها به شما امکان می دهد اطلاعات اضافی درباره خطاهای مهم را مشاهده کنید.
چه زمانی باید خطاهای صفحه را فعال کنید؟
در صورت مواجهه با خطای مهلکی که باعث یکی از مشکلات زیر می شود، خطاها را برای دریافت اطلاعات اضافی نشان دهید:
- Friendly "Oops!" pages
- Entirely blank pages
- Partially rendered pages
در بیشتر موارد، ابتدا از گزینه های Error Log و SQL Debug Mode استفاده کنید. این گزینه معمولاً همان اطلاعات خطای نمایش را ارائه می دهد. اگر این گزینه امکان پذیر نیست یا اطلاعاتی را ارائه نمی دهد، یک جایگزین خوب برای نمایش خطا است.
خطاهای نمایش اطلاعات خطا را برای هر کسی که با همان شرایط خطا مواجه می شود نمایش می دهد. در صورت امکان، از نمایش خطاها به بازدیدکنندگان یا کارمندان غیرمجاز خودداری کنید.
دلیل خاص
برخی از رایج ترین دلایل نمایش جزئی یا خالی صفحه \"اوه!\" عبارتند از:
فایلهای از دست رفته یا خراب یا دانلود ناقص.
سرور الزامات سیستم پیش فرض را برآورده نمی کند.
خطاهای مربوط به PHP، Apache یا ionCube Loader®.
قلاب یا حلقه مناسب نیست.
خطاهای نحوی در ماژول ها، قلاب ها یا قالب های سفارشی.
فعال کردن گزارش خطا
از قسمت مدیریت فعال کنید
در صورت امکان، مراحل زیر را برای فعال کردن خطاهای نمایش در قسمت مدیریت انجام دهید:
به Setup () > System Settings > General Settings یا قبل از WHMCS 8.0، Setup > General Settings بروید.
برگه More را انتخاب کنید.
Show Errors را انتخاب کنید.
روی ذخیره تغییرات کلیک کنید.
مراحلی را که قبلاً منجر به یک صفحه خالی یا نیمه چاپ شده بود، دوباره امتحان کنید. سیستم برخی از اطلاعات خطا را نمایش می دهد.
فراموش نکنید که پس از اتمام عیب یابی، خطاهای نمایش را خاموش کنید. فعال کردن نمایش خطا می تواند یک مشکل امنیتی باشد.
آن را از فایل پیکربندی خود فعال کنید
اگر خطا شدید باشد، ممکن است نتوانید به قسمت مدیریت دسترسی پیدا کنید. در این موارد، گزینه پرچم فایل پیکربندی دستی وجود دارد که می تواند به فایل configuration.php در فهرست اصلی WHMCS اضافه شود تا گزارش خطا فعال شود.
خطوط را در انتهای فایل edit.php اضافه کنید. اگر فایل configuration.php شما دارای یک برچسب باشد، بلافاصله قبل از بستن تگ PHP (?>) است. در غیر این صورت بعد از خط آخر فایل است.
$display_errors = true;
پس از افزودن یک خط، ذخیره و آپلود یک فایل، تلاش مجدد مراحل قبلی منجر به یک صفحه خالی یا نمایش جزئی می شود. سیستم اطلاعات خطای اضافی را نمایش می دهد.
به یاد داشته باشید که وقتی عیب یابی تمام شد، خطای نمایش را خاموش کنید. فعال کردن نمایش خطا می تواند یک مشکل امنیتی باشد.
غیرفعال کردن گزارش خطا
غیرفعال کردن از ناحیه مدیریت
اگر گزارش خطا از پنل مدیریت را فعال کرده اید، پس از اتمام عیب یابی، حتما مراحل زیر را دنبال کنید:
به Configuration () > System Settings > General Settings یا قبل از WHMCS 8.0، Setup > General Settings بروید.
تب Other را انتخاب کنید.
تیک Show errors را در پایین صفحه بردارید.
روی ذخیره تغییرات کلیک کنید.
فایل configuration.php را حذف کنید
اگر پیکربندی را با استفاده از فایل config.php فعال کرده اید، پس از اتمام عیب یابی، حتماً خط زیر را از فایل config.php حذف کنید.
$display_errors = true;
گاهی اوقات می توانید خطوط زیر را در فایل config.php مشاهده کنید.
$display_errors = E_NOTICE;
$display_errors = E_ALL;
برای احتیاط، خطوطی که با $display_errors شروع می شوند را از فایل configuration.php حذف کنید.
هشدارها و اخطارهای PHP
اگر گزینههای Show Error غیرفعال هستند و همچنان پیامهای هشدار میبینید، به این معنی است که سطح گزارش خطای پیکربندی PHP سرور شما بسیار بالا است. این یک مشکل در سطح پیکربندی PHP است. کاربران هاست اشتراکی یا فروشندگان ممکن است به کمک ارائه دهنده هاست خود نیاز داشته باشند.
اگر دسترسی کافی دارید و سرور خود را برای استفاده از WHM برای مدیریت پیکربندی کرده اید، مراحل زیر را دنبال کنید:
در WHM، به Software >> MultiPHP INI Editor بروید.
روی تب Editor Mode کلیک کنید.
نسخه PHP خود را از منوی Choose PHP Version انتخاب کنید.
به سمت پایین به تنظیمات error_reporting بروید.
مقدار را به زیر تغییر دهید:
E_ALL & ~E_WARNING & ~E_USER_WARNING & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_USER_DEPRECATED
اگر به درستی تنظیم شود، متغیر error_reporting در پیکربندی PHP سرور مقدار عددی 4597 را نشان می دهد.
Getting Error Information
The WHMCS Error Management system includes many useful options. Display Errors allows you to view additional information about critical errors.
When Should You Enable Display Errors
Display Errors provides additional information when you experience a critical error that results in one of the following issues:
- Friendly "Oops!" pages
- Entirely blank pages
- Partially rendered pages
In most cases, use the Log Errors and SQL Debug Mode options first. These options will usually capture the same information that Display Errors renders. In the event that these options are not viable or do not yield any information, Display Errors is a good alternative.
Display Errors will show your error information to anyone who is encountering the same error condition. Avoid showing errors to visitors or non-privileged staff whenever possible.
Typical Causes
Some of the most common causes of "Oops!", partial, or empty page rendering include:
- Missing or corrupted files or incomplete uploads.
- The server doesn't meet the minimum system requirements.
- PHP, Apache, or ionCube Loader®-related errors.
- Incompatible hooks or addons.
- Syntax errors in custom modules, hooks, or templates.
Enabling Error Reporting
Enabling From The Admin Area
If possible, attempt the following steps to enable Display Errors via the Admin Area:
- Go to Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
- Choose the Other tab.
- Select Display Errors.
- Click Save Changes.
- Retry the steps that previously led to the blank or partially-rendered page. The system will display additional error information.
Remember to disable Display Errors when you are finished troubleshooting. Leaving error display enabled can be a security concern.
Enabling From Your Configuration File
If the error is severe enough, you may not be able to log in to the admin area. In those situations, there is a manual configuration file flag option that you can add to the configuration.php file in the WHMCS root directory to enable error reporting.
Add the lines to the end of the configuration.php file. This will be immediately before the closing PHP tag (?>) if your configuration.php file has one. If it doesn't, this will be after the last line in the file.
$display_errors = true;
After adding the lines and saving and uploading the file, retry the steps that previously led to the blank or partially rendered page. The system will display additional error information.
Remember to disable Display Errors when you are finished troubleshooting. Leaving error display enabled can be a security concern.
Disabling Error Reporting
Disabling from the admin area
If you enabled error reporting via the admin area, make sure to follow the steps below after you finish troubleshooting:
- Navigate to Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings.
- Choose the Other tab.
- Deselect Display Errors at the bottom of the page.
- Click Save Changes.
Disabling from the configuration.php file
If you enabled error reporting via the configuration.php file, make sure to remove the following line from the configuration.php file after you finish troubleshooting.
$display_errors = true;
Sometimes, you may also see the following lines in configuration.php file:
$display_errors = E_NOTICE;
$display_errors = E_ALL;
As a precaution, remove any lines starting with $display_errors from the configuration.php file.
PHP Warnings and Notices
If the Display Error options are disabled and you're still seeing warning messages, it indicates the Error Reporting level in your server's PHP configuration is too high. This is a PHP configuration level issue. Shared hosting or reseller users may require the assistance of the hosting provider.
If you have sufficient access and have configured your server to use WHM for administration, follow these steps:
- In WHM, navigate to Software >> MultiPHP INI Editor.
- Click the Editor Mode tab.
- Select your PHP version from the Select a PHP version menu.
- Scroll down to the error_reporting setting.
- Change the value to the following string:
E_ALL & ~E_WARNING & ~E_USER_WARNING & ~E_NOTICE & ~E_USER_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_USER_DEPRECATED
If you have set it correctly, the error_reporting variable within the server's PHP configuration will show a numerical value of 4597.