Where Is It in Your Hosting Panel? cPanel, Plesk, DirectAdmin and Enhance
Find PHP logs, PHP settings, backups, phpMyAdmin, cron, SSL, DNS, email routing and redirects in cPanel, Plesk, DirectAdmin and Enhance, with the SSH equivalent for each task.
When a site is down, the answer is almost always in the hosting control panel: a log, a PHP setting, a backup, a DNS record. The trouble is that every panel hides the same tool under a different name. This sheet maps the tasks you need in an emergency across cPanel, Plesk, DirectAdmin and Enhance, with the SSH equivalent alongside, then walks through each panel, three common recipes and the gotchas that waste the most time.
Read this first: menu labels change between versions, themes and skins, and hosts can rename, hide or disable any tool. Labels below are taken from each vendor’s documentation where it could be checked, and described generically where it could not. If a label does not match your screen, use the search box most panels put at the top of the home page. Log paths are typical locations, not guarantees.
Placeholders used on this sheet
| Placeholder | Replace with |
|---|---|
USERNAME |
Your hosting account or system user name (the login shown in the panel or in your SSH prompt). |
EXAMPLE.COM |
Your domain name, without https:// or www. |
DOCROOT |
The folder your site is served from, often public_html or httpdocs. |
WEBSITE-UUID |
Enhance only: the long website ID shown in the browser address bar when you open the website in the panel. |
DBNAME, DBUSER |
The database name and database user, found in wp-config.php for WordPress sites. |
203.0.113.10 |
An example IP address from the documentation range. Replace it with the real address. |
The big table: where each task lives
Read across a row to find the same task in each panel. Paths use the form Section, then Tool. “Host dependent” means the tool is an add-on your host may or may not provide.
| Task | cPanel | Plesk | DirectAdmin | Enhance | Command line (SSH) |
|---|---|---|---|---|---|
| PHP error log location | A file named error_log in the folder of the script that failed (open it in File Manager) |
Websites and Domains, the domain, Logs (PHP errors are mixed into the domain error log) | The domain error log in the logs or statistics area for the domain | WordPress toolkit, Debug (turns on WP_DEBUG_LOG); error logs readable in the file manager |
php -i | grep error_log then tail -n 50 on that file; WordPress: wp-content/debug.log |
| Web server access and error logs | Metrics, Errors (recent web server errors); Metrics, Raw Access (download access logs) | Websites and Domains, the domain, Logs; Manage Log Files for the raw files | The domain log links in the statistics or logs area | No general log viewer for site owners; access log is a server file (see the Enhance section) | Typical: ~/logs/ (cPanel archives), /var/www/vhosts/EXAMPLE.COM/logs/ (Plesk), /var/log/httpd/domains/ (DirectAdmin, root) |
| Change the PHP version | Software, MultiPHP Manager (or Select PHP Version on CloudLinux hosts) | Websites and Domains, the domain, PHP Settings | Domain Setup, the domain, PHP version selector | Websites, the website, PHP version list (some hosts place it under Advanced) | Panel controlled. php -v shows the command line PHP, which may differ from the web PHP |
Edit PHP settings (memory_limit, upload size, max_input_vars) |
Software, MultiPHP INI Editor (Basic Mode or Editor Mode) | Websites and Domains, the domain, PHP Settings | The PHP settings link on the domain settings page | Websites, the website, Advanced, Developer tools, php.ini editor; then restart PHP | A .user.ini file in DOCROOT (PHP-FPM and CGI) or php_value lines in .htaccess (Apache module PHP only) |
| File manager | Files, File Manager | Websites and Domains, Files (File Manager) | File Manager | Websites, the website, Files tab | SFTP, or ls -la, cd, nano |
| Create or restore a backup | Files, Backup or Backup Wizard (JetBackup if the host installed it) | Backup Manager | The create and restore backups tool in the advanced features area | Websites, the website, Backups tab, Restore (Website, Email or Custom) | wp db export and tar -czf site.tar.gz DOCROOT |
| phpMyAdmin and database access | Databases, phpMyAdmin | Websites and Domains, Databases, phpMyAdmin | The MySQL management area, phpMyAdmin link | Websites, the website, the databases area (phpMyAdmin link where offered) | wp db cli or mysql -u DBUSER -p DBNAME |
| Create a database and user | Databases, Database Wizard, or Manage My Databases | Websites and Domains, Databases, Add Database | The MySQL management area, create database | Websites, the website, the databases area | Usually panel only on shared hosting, because names are prefixed and quotas tracked |
| SSH access and keys | Security, SSH Access, Manage SSH Keys (host may disable SSH) | Hosting and DNS, Hosting settings, the SSH access field (not Forbidden) | The SSH keys area, if the host enabled SSH | Websites, the website, Advanced, Developer tools, SSH key manager | ~/.ssh/authorized_keys |
| Cron jobs | Advanced, Cron Jobs | Websites and Domains, Scheduled Tasks | Cron Jobs | Websites, the website, Advanced, Developer tools, cron jobs | crontab -l to list, crontab -e to edit |
| SSL certificates (AutoSSL, Let’s Encrypt) | Security, SSL/TLS Status, Run AutoSSL | Websites and Domains, SSL/TLS Certificates (Let’s Encrypt through the SSL It! extension) | SSL Certificates (free certificate option) | The SSL area for the domain | openssl s_client -connect EXAMPLE.COM:443 -servername EXAMPLE.COM |
| DNS zone editor | Domains, Zone Editor | Hosting and DNS, DNS | DNS Management | Websites, the website, Domains tab, DNS | dig EXAMPLE.COM A +short (checks, does not edit) |
| Email accounts and routing (local vs remote mail exchanger) | Email, Email Accounts; Email, Email Routing | Mail tab; Mail Settings for the domain | E-mail Manager, E-mail Accounts; E-mail Manager, MX Records (“Use this server to handle my e-mails”) | The email area for the website or domain | dig EXAMPLE.COM MX +short |
| Redirects | Domains, Redirects (Permanent 301 or Temporary 302) | Preferred domain in Hosting settings; alias “Redirect with the HTTP 301 code”; otherwise .htaccess |
The site redirection tool for the domain | Websites, the website, Advanced, Redirects | Rules in .htaccess; test with curl -I |
| IP blocking | Security, IP Blocker | Server level only: Tools and Settings, IP Address Banning (Fail2Ban), admin access | No standard user tool; use .htaccess |
No standard site owner tool confirmed; use .htaccess on Apache or LiteSpeed |
Require not ip 203.0.113.10 in .htaccess |
| Resource usage | Metrics, Resource Usage or CPU and Concurrent Connection Usage (CloudLinux hosts) | Statistics for the subscription | The statistics or site summary area | The website overview or usage area | top, uptime, ps aux --sort=-%cpu | head |
| WordPress toolkit or installer | WP Toolkit, or an installer such as Softaculous (host dependent) | WordPress (WP Toolkit) | A WordPress manager or installer (host dependent) | Websites, the website, Apps tab, Install app; WordPress toolkit for management | wp core version, wp core verify-checksums |
| Disk usage | Files, Disk Usage | Statistics for the subscription | The disk usage figure on the account home or statistics page | The website overview or usage area | du -h --max-depth=1 | sort -h and df -h |
cPanel
These paths assume the current default cPanel theme, where tools are grouped into sections such as Files, Databases, Domains, Email, Metrics, Security, Software and Advanced.
Logs
- Metrics, Errors lists the most recent web server errors for the account (third-party guides consistently describe the last 300).
- PHP errors usually go to a file named
error_login the same folder as the script that failed. For WordPress that meansDOCROOT/error_logfor front-end errors andDOCROOT/wp-admin/error_logfor dashboard errors. - Metrics, Raw Access lets you download compressed access logs. cPanel’s documentation describes optional archiving into
/home/USERNAME/logsafter statistics are processed.
PHP version and settings
- Software, MultiPHP Manager: check the domain, choose a version from the PHP Version menu, click Apply. A handler line in a subfolder’s
.htaccesscan keep that folder on a different version. - Software, MultiPHP INI Editor: Basic Mode shows common directives with switches and fields. cPanel’s documentation says Basic Mode saves to
php.ini,.user.iniand.htaccess, each only for the directives that file supports, and warns the three files may not end up identical. Editor Mode is a raw editor for thephp.inifile. - Select PHP Version appears instead of, or alongside, MultiPHP on hosts running CloudLinux. It is a separate system with its own settings page, and only one of the two is in charge.
Gotchas
- Database names and users are prefixed with the account name, for example
USERNAME_wp. Copy the full prefixed names intowp-config.php. - Creating a database does not grant access. Add the user to the database and assign privileges, or the site shows “Error establishing a database connection”.
- Backup offers full and partial backups. cPanel’s documentation says a full backup cannot be restored from the cPanel interface; only partial backups (home directory, databases, email forwarders and filters) can be restored there.
- Email, Email Routing: Automatically Detect Configuration reads the MX records in the local zone file, not live DNS. Local Mail Exchanger means this server accepts the domain’s mail. Remote Mail Exchanger means mail goes to the lowest numbered MX elsewhere. A wrong setting is the classic cause of contact form email never reaching an external mailbox.
- Security, IP Blocker blocks website access only, not services such as webmail. It accepts single addresses, ranges and CIDR.
Plesk
These paths follow Plesk Obsidian. In the default view, everything for a site sits under Websites and Domains, with the domain’s tools shown as tabs or a dashboard (Files, Databases, Hosting and DNS, Mail, and so on).
Logs
- Websites and Domains, the domain, Logs opens the log browser, which shows Apache access and error logs and the nginx proxy logs, with filters. Manage Log Files gives you the raw files and rotation settings.
- Typical file location:
/var/www/vhosts/EXAMPLE.COM/logs/witherror_log,access_logandaccess_ssl_log. On many servers the real files live under/var/www/vhosts/system/EXAMPLE.COM/logs/. Check both withls.
PHP settings per domain
- Websites and Domains, the domain, PHP Settings sets the PHP version, the handler (FPM, FastCGI, and so on) and individual directives such as
memory_limit,upload_max_filesize,post_max_sizeandmax_input_vars. - Your plan may lock some directives. If a value is grayed out, the administrator restricted it in the service plan.
Other tools
- Backup Manager creates backups and restores selectively, so you can restore website files only without touching databases or mail. Plesk confirmed a bug where restoring files alone could remove scheduled tasks, fixed in 18.0.64. On older versions, note your cron jobs before restoring files.
- Databases: Add Database creates the database and a user in one form. The phpMyAdmin button opens it already logged in.
- SSH: in Hosting and DNS, the hosting settings page has an SSH access field. Forbidden disables it; a chrooted shell keeps the user inside the subscription.
- Scheduled Tasks is Plesk’s name for cron jobs.
- SSL/TLS Certificates: Let’s Encrypt certificates are issued through the SSL It! and Let’s Encrypt extensions.
- Redirects: Plesk has no general redirect manager. The preferred domain setting handles www versus non-www with a 301, and an alias can be set to redirect with a 301. Anything else goes in
.htaccessor the web server directives your plan allows. Plesk staff acknowledged preferred domain and alias redirect bugs in recent releases, so test withcurl -Iafter any update. - IP banning (Fail2Ban) lives in Tools and Settings, which only administrators see. Site owners block addresses in
.htaccessinstead.
DirectAdmin
DirectAdmin has two skins in common use. Evolution is the modern default on new installs and has a search box and a different layout. Enhanced is the older icon grid; it no longer gets new features, and community reports say it is headed for removal. The same tool can have a different label and location in each skin, so the safest move in Evolution is to type the tool’s name into the search box.
Where things are
- PHP version: Domain Setup, choose the domain, then the PHP version selector. In Evolution it sits near the top of the domain page.
- PHP settings: a PHP settings link on the domain settings page lets you override directives such as
memory_limit. Which directives appear is decided by the administrator, so a missing directive is a server setting, not a bug. - Email routing: E-mail Manager, MX Records has a checkbox labeled “Use this server to handle my e-mails”. Uncheck it when mail is hosted elsewhere, or the server keeps delivering form mail to local mailboxes nobody reads.
- Logs: the error and access logs for a domain are linked from the domain’s statistics or logs area. Typical files are
/var/log/httpd/domains/EXAMPLE.COM.error.logandEXAMPLE.COM.log(Apache) or/var/log/nginx/domains/(nginx), readable only by root. Community reports say the user level viewer shows the Apache error log but not the nginx one.
Gotchas
- If CloudLinux’s PHP Selector is also installed, it can conflict with DirectAdmin’s own selector. Ask which one your host uses.
Enhance
Enhance organizes everything around the website. From the left sidebar choose Websites, open the site, and work in its tabs: Files, Domains, Backups, Apps, Advanced and so on.
Website level settings
- PHP version: a version list on the website’s page (some hosts document it under Advanced).
- PHP settings: Advanced, Developer tools, php.ini editor. You add a directive by name and value. Host guides say changes take effect only after a PHP restart, done from the PHP page with the option to restart the PHP container.
- SSH and cron: Advanced, Developer tools holds the SSH key manager, SSH connection details and cron jobs.
- Redirects: Advanced, Redirects adds 301 or 302 redirects.
- DNS and domains: the Domains tab manages aliases, subdomains, the document root and DNS.
- Backups: the Backups tab, then Restore, with Website, Email and Custom options. Host guides disagree on whether Website includes databases, so read the description on screen before you click. No standard single-file restore was confirmed.
- WordPress: the Apps tab installs WordPress. The WordPress toolkit has a Debug page with switches for
WP_DEBUG,WP_DEBUG_LOGand on-screen display.
Logs on Enhance
Enhance’s documentation describes the website access log as a server file, /var/local/enhance/webserver_logs/WEBSITE-UUID.log, discarded after statistics processing, so history is short. Web server error logs depend on the server software. Without server access, use the WordPress toolkit’s Debug page, then read wp-content/debug.log in the file manager.
Common recipes
Find why a site is down, from the panel
- Confirm the symptom. Note the exact error: a 500, a white screen, “Error establishing a database connection”, a certificate warning or a DNS failure.
- Check DNS and SSL first if the browser cannot reach the site at all. Open the DNS zone editor and confirm the A record points at the server. Open the SSL area and check expiry and coverage for both
EXAMPLE.COMandwww.EXAMPLE.COM. - Read the newest log lines. cPanel: the
error_logfile inDOCROOT, then Metrics, Errors. Plesk: the domain’s Logs. DirectAdmin: the domain error log. Enhance: turn on the debug log in the WordPress toolkit, load the page once, readwp-content/debug.log. The first “PHP Fatal error” line usually names the plugin or theme file at fault. - Check resources. Look at disk usage (a full account stops uploads, sessions and database writes) and resource usage (hitting process or memory limits shows as 503 or 508 errors on CloudLinux hosts).
- Check recent changes. A PHP version change, a plugin update or a new redirect is the usual trigger. Undo it first, and turn debugging off once you have the answer.
Raise upload limits
- Set three values together:
upload_max_filesize(largest single file),post_max_size(whole request, must be equal to or larger than the upload size) andmemory_limit(keep it larger thanpost_max_sizefor image processing). If you are fighting a form or menu that will not save, raisemax_input_varstoo. - Use the panel’s PHP settings tool: MultiPHP INI Editor in cPanel, PHP Settings in Plesk, the PHP settings link in DirectAdmin, the php.ini editor in Enhance (then restart PHP).
- Without a panel tool, put these lines in
DOCROOT/.user.inion PHP-FPM or CGI hosts:upload_max_filesize = 64M post_max_size = 64M memory_limit = 256M max_input_vars = 3000
PHP rereads
.user.inion a timer (user_ini.cache_ttl, 300 seconds by default), so wait five minutes before deciding it failed. - Verify the live value, not the file: WordPress shows it under Tools, Site Health, Info, Server.
- If the value will not move, the host has a hard cap, or a web server limit (for example nginx
client_max_body_size) sits in front of PHP. Open a support ticket and quote the exact value you need.
Restore one file from a backup
- Keep the broken copy. In the file manager, rename the damaged file (for example
functions.php.broken) rather than deleting it. - Find a granular restore. Plesk’s Backup Manager can restore selected website files. A host backup add-on such as JetBackup often allows single file restores in cPanel.
- If only whole-site restores exist (common on Enhance and with cPanel’s built-in partial backups), download the backup archive to your computer, extract just the file you need, and upload it through the file manager or SFTP. Restoring the whole home directory to recover one file overwrites every newer change.
- From SSH, extract one path from a tar archive without unpacking the rest:
tar -tzf backup.tar.gz | grep functions.php tar -xzf backup.tar.gz path/shown/above/functions.php
Then copy it into place and check its permissions match its neighbors (
ls -l).
Gotchas
- The command line PHP is not the web PHP.
php -vover SSH can report a different version and different settings from the one serving your site. Trust the panel or aphpinfo()page (deleted straight afterward). .user.iniversus.htaccess.php_valuelines in.htaccessonly work when PHP runs as an Apache module. On PHP-FPM they cause a 500 error..user.inionly works on FPM and CGI. Use the panel tool when one exists so it writes the right file.- Email routing follows the panel, not DNS. If mail is hosted elsewhere, set the panel to remote (cPanel Remote Mail Exchanger, DirectAdmin unchecked “Use this server to handle my e-mails”, the matching mail setting in Plesk or Enhance) even when public MX records are already correct.
- Logs are short lived. Raw access logs on cPanel and Enhance may hold only recent traffic. Download them as soon as you suspect an attack or a crawl problem.
- Full restores overwrite. Take a fresh backup of the current state before restoring an older one, so you can go back if the restore makes things worse.
Did this fix it?
Still stuck? Start again from what you can see in the Emergency Room.
Need the full fix?
Cheat sheets are quick reference. The field guides walk you through each emergency step by step.
Open the Emergency Room