<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>php on</title><link>https://docs.whmcs.com/9-1/tags/php/</link><description>Recent content in php on</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://docs.whmcs.com/9-1/tags/php/index.xml" rel="self" type="application/rss+xml"/><item><title>System Requirements</title><link>https://docs.whmcs.com/9-1/installation-guide/system-requirements/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/installation-guide/system-requirements/</guid><description>Lists minimum system requirements for self-hosted WHMCS installations, including supported operating system, Apache version and handlers, PHP 8.2/8.3 with required and recommended extensions and ionCube Loader versions, MySQL version and privileges, database collation, encrypted database connection variables, and recommended file and directory permissions.</description></item><item><title>Troubleshooting PHP</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/troubleshooting-php/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/troubleshooting-php/</guid><description>Index page explaining how WHMCS handles PHP errors, exceptions, and error handlers, and linking to common PHP error and TypeError troubleshooting articles.</description></item><item><title>Install ionCube Loader</title><link>https://docs.whmcs.com/9-1/installation-guide/install-ioncube-loader/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/installation-guide/install-ioncube-loader/</guid><description>Details checking for ionCube Loader with a phpinfo page and installing it via WHM&amp;rsquo;s EasyApache PHP Extensions interface, manual FTP/SSH upload and php.ini zend_extension configuration, or SSH package installation, plus verifying the install in PHP Info.</description></item><item><title>500 Internal Server Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/500-internal-server-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/500-internal-server-errors/</guid><description>Explains the 500 Internal Server Error message, attributes it to a customization or PHP misconfiguration issue, and gives the fix of enabling error reporting, reviewing the PHP error_log, or checking cPanel&amp;rsquo;s Metrics &amp;raquo; Errors interface on shared hosting without file access.</description></item><item><title>Allowed Memory Exhausted Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/allowed-memory-exhausted-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/allowed-memory-exhausted-errors/</guid><description>Documents the &amp;ldquo;Allowed memory size of xxxxx bytes exhausted&amp;rdquo; PHP error, explains it is caused by the server&amp;rsquo;s memory_limit setting, and gives steps to check PHP Info and increase memory_limit.</description></item><item><title>Custom Template PHP</title><link>https://docs.whmcs.com/9-1/system/php/custom-template-php/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/custom-template-php/</guid><description>Provides an example hook_template_variables_example() function using add_hook() on the ClientAreaPageViewTicket hook point to define custom Smarty template variables like {$fixedValue} and {$userSpecificValue} for use in a .tpl file.</description></item><item><title>Down for Maintenance Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/general-troubleshooting/down-for-maintenance-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/general-troubleshooting/down-for-maintenance-errors/</guid><description>Troubleshoots the Down for Maintenance (Err2) error caused by a mismatch between database, WHMCS file, and PHP versions, with separate resolution steps for when the error appears during an in-progress update (browser install.php upgrade process) versus after an update that did not complete or apply correctly.</description></item><item><title>ExceptionLoggingTrait Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/exceptionloggingtrait-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/exceptionloggingtrait-errors/</guid><description>Covers the &amp;ldquo;PHP Fatal error: Class not found&amp;rdquo; error in ExceptionLoggingTrait.php caused by missing core WHMCS files, with the fix of re-uploading the Full Release files and checking file and folder permissions.</description></item><item><title>Fatal Error Fetching Update</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-updates/fatal-error-fetching-update/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-updates/fatal-error-fetching-update/</guid><description>Covers &amp;ldquo;A fatal error occurred while fetching the update&amp;rdquo; during Automatic Updater use, with troubleshooting steps using the browser network analyzer, checking PHP version requirements and server timeout settings, and testing PHP execution length with test_execution_time.php.</description></item><item><title>Fatal Memory Size Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/fatal-memory-size-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/fatal-memory-size-errors/</guid><description>Covers the Fatal error: Allowed memory size of 33554432 bytes exhausted message, attributes it to the cron job exceeding a 32 MB PHP memory_limit, and gives the fix of raising memory_limit to 64 MB minimum or 128 MB recommended, in the PHP configuration or the cron command.</description></item><item><title>Frequent Logouts</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/frequent-logouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/frequent-logouts/</guid><description>Diagnoses frequent logouts by cause: PHP session misconfiguration (checked via System Health), proxy/CDN misconfiguration breaking IP detection, insufficient disk space, changing visitor IPs, or VPN use, with workarounds like disabling Session IP Check or using database session storage.</description></item><item><title>License Key Required Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-installation/license-key-required-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-installation/license-key-required-errors/</guid><description>Covers the install.php step 3 &amp;ldquo;A license key is required&amp;rdquo; error caused by a PHP sessions misconfiguration, with steps to upload and run test_sessions.php, confirm the session counter increments on refresh, check session.save_path is writable, and resolve PHP misconfigurations before restarting installation.</description></item><item><title>Login Session Length</title><link>https://docs.whmcs.com/9-1/system/php/login-session-length/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/login-session-length/</guid><description>Explains that the session.gc_maxlifetime PHP setting (default 1440 seconds) controls login timeout, how to increase it via php.ini or a custom php.ini file in the WHMCS directory, and how conflicting session.save_path values from other PHP scripts on the same account can shorten it unexpectedly.</description></item><item><title>Logout During Invoice Download</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-invoices/logout-during-invoice-download/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-invoices/logout-during-invoice-download/</guid><description>Explains why clicking Download for a PDF invoice logs Client Area users out, caused by pdo_mysql driver behavior in PHP most common on CloudLinux servers, with the fix of switching to the nd_pdo_mysql driver in CloudLinux PHP Configuration or recompiling PHP with the native driver elsewhere.</description></item><item><title>Nominet Socket Transport Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-domains/nominet/nominet-socket-transport-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-domains/nominet/nominet-socket-transport-errors/</guid><description>Fixes the Nominet Unable to find the socket transport ssl error, caused by a PHP configuration problem, by recompiling PHP with OpenSSL support.</description></item><item><title>OPcache Warnings</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/opcache-warnings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/opcache-warnings/</guid><description>Explains OPcache-related warnings and stale-cache symptoms, including PayPal Payments gateway activation failures, and instructs disabling the OPcache PHP extension in php.ini and recompiling PHP.</description></item><item><title>PHP Execution Time Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/php-execution-time-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/php-execution-time-errors/</guid><description>Documents the &amp;ldquo;Maximum execution time of 300 seconds exceeded&amp;rdquo; PHP fatal error and the fix of adding an $overidephptimelimit line to configuration.php to raise the max_execution_time limit.</description></item><item><title>PHP Info</title><link>https://docs.whmcs.com/9-1/system/php/php-info/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/php-info/</guid><description>Explains that Utilities &amp;gt; System &amp;gt; PHP Info displays the server&amp;rsquo;s PHP options, extensions, version, and php.ini configuration directly from the phpinfo() function, useful for verifying module compatibility and troubleshooting.</description></item><item><title>PHP Session Storage Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/php-session-storage-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/php-session-storage-errors/</guid><description>Covers the login-blocking error &amp;ldquo;PHP session storage is not writeable,&amp;rdquo; caused by mismatched session.save_path values across PHP configuration files or a non-writable storage location, and the fix: align session.save_path across configs and grant write permissions to the storage location.</description></item><item><title>PHP Tag Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/php-tag-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/php-tag-errors/</guid><description>Covers the &amp;ldquo;Smarty does not allow the PHP tag&amp;rdquo; template error caused by legacy Smarty PHP tags disallowed since WHMCS 9.0, with the fix of using the Smarty Compatibility Report to locate and remove them.</description></item><item><title>PHP Upgrades</title><link>https://docs.whmcs.com/9-1/system/php/php-upgrades/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/php-upgrades/</guid><description>Lists the six-step process for upgrading PHP on a self-hosted WHMCS server: verifying ionCube Loader compatibility, checking ionCube-encoded file compatibility via the PHP Version Compatibility utility, confirming custom and third-party code compatibility, upgrading WHMCS if needed, upgrading PHP itself, and making follow-up configuration changes like cron php.ini edits.</description></item><item><title>PHP Version Compatibility</title><link>https://docs.whmcs.com/9-1/system/php/php-version-compatibility/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/php-version-compatibility/</guid><description>Explains the PHP Version Compatibility utility at Utilities &amp;gt; System, covering how to run a scan, the directories it excludes from inspection, how to read the Compatible Encoding, Incompatible Encoding, and Encoding Compatibility Unknown file lists per PHP version tab, and how vendor encoding approaches affect the accuracy of results.</description></item><item><title>Required Function Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/required-function-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/required-function-errors/</guid><description>Explains &amp;ldquo;Required function is not available&amp;rdquo; admin area errors, such as missing base64_decode or cURL functions, caused by disabled or uninstalled PHP functions, with the fix of installing and enabling the named function.</description></item><item><title>Segmentation Fault Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/segmentation-fault-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/segmentation-fault-errors/</guid><description>Documents PHP &amp;ldquo;Segmentation fault&amp;rdquo; crashes, often linked to the OPcache extension, and gives steps to disable OPcache via opcache.enable_cli=0 in the cron command to isolate the cause.</description></item><item><title>Sessions</title><link>https://docs.whmcs.com/9-1/customization/sessions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/customization/sessions/</guid><description>Describes WHMCSInstanceID, WHMCSAffiliateID, WHMCSLinkID, and WHMCSUser session and persistent cookies and their expiration periods, file-backed sessions as the zero-configuration PHP default, and configuring database-backed sessions via the session_handling setting in configuration.php, including advanced options for lifetime, connectionAlias, and remote database setup using the tblsessions.schema.sql file.</description></item><item><title>Sessions Are Not Removed</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/sessions-are-not-removed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-authentication/sessions-are-not-removed/</guid><description>Attributes persistent sessions to non-standard PHP session.gc_probability and session.gc_divisor values, often 0, which disable garbage collection, and directs self-hosted users to restore the defaults or WHMCS Cloud users to contact Technical Support.</description></item><item><title>Smarty Security Policy</title><link>https://docs.whmcs.com/9-1/system/php/smarty-security-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/php/smarty-security-policy/</guid><description>Details the system policy&amp;rsquo;s restriction of fetch, php, include_php, and smarty_template.object tags, the mail policy&amp;rsquo;s allowed variable modifiers and native PHP functions, and the enabled_special_smarty_vars configuration array used to define a custom Smarty security policy.</description></item><item><title>Smarty Variable Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/smarty-variable-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-php/smarty-variable-errors/</guid><description>Covers the Smarty &amp;ldquo;special variable not allowed by security setting&amp;rdquo; template error caused by Smarty 4&amp;rsquo;s stricter security policy blocking $smarty special variables, with the fix of refactoring templates to use assigned variables instead.</description></item><item><title>Status Monitoring Display Issues</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-servers/status-monitoring-display-issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-servers/status-monitoring-display-issues/</guid><description>Documents uptime and CPU load statistics not displaying correctly in Server Status Monitoring, caused by a non-Linux operating system, an inaccessible status directory, or disabled PHP functions, with fixes including enabling the exec and shell_exec functions.</description></item><item><title>Stripe Try Again Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-payments/stripe/stripe-try-again-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-payments/stripe/stripe-try-again-errors/</guid><description>Addresses the red error message An Error Occurred. Please try again. when a client pays with a stored Stripe payment method, caused by the server environment missing the nd_pdo_mysql PHP extension, with a fix to enable that extension in the server&amp;rsquo;s PHP configuration.</description></item><item><title>Stuck Installation Process</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-installation/stuck-installation-process/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-installation/stuck-installation-process/</guid><description>Attributes an installation process stuck on Step 4 to the system not meeting WHMCS system requirements, most commonly a PHP memory_limit value below 64 MB, and directs verifying configuration against the system requirements page before retrying.</description></item><item><title>System Health</title><link>https://docs.whmcs.com/9-1/troubleshooting/system-health/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/system-health/</guid><description>The System Health page, at Configuration &amp;gt; System Health, provides an overview of the WHMCS installation and system environment status, highlights potential configuration and security issues that need attention, indicates whether updates are available for the installed version, and links to the change log and release notes. This page documents each System Health check and its recommended solution, including Automatic Update Requirements, Certificate Authority verified SSL detection, the Cloudflare proxy check, the CloudLinux MySQL extension check, the Cron HTTP Access Blocked check, Cron PHP timezone and PHP version mismatches, cURL, TLS, and OpenSSL version warnings, customising default paths, custom templates, deprecated modules that remain active and configured after an update, error reporting, event handling, invoice immutability, the obsolete invoice mutability variables in the configuration.php file, legacy Smarty tags, MySQL server configuration, OPcache status, permissions, PHP error levels, the PHP memory limit, PHP session support, the PHP version, POP cron ticket import, recommended and required PHP extensions, required PHP functions, secure TLS and SSL support in cURL, the sensitive directory check (including exposed Storage Settings directories and directories that could not be evaluated), system cron tasks, the system URL check, two-factor authentication storage encryption, and website SSL.</description></item><item><title>System Timezone Issues</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/system-timezone-issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/system-timezone-issues/</guid><description>Covers timezone symptoms like incorrect timestamps, two-factor authentication code errors, and cron frequency warnings, attributes them to a mismatch between the webserver&amp;rsquo;s and cron engine&amp;rsquo;s PHP date.timezone settings, and gives steps to compare them via SSH before updating the server clock, php.ini, or cron command.</description></item><item><title>Undefined PHPMailer Function Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-email/php-mail/undefined-phpmailer-function-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-email/php-mail/undefined-phpmailer-function-errors/</guid><description>Covers the &amp;ldquo;Call to undefined function PHPMailer\PHPMailer\escapeshellarg()&amp;rdquo; Oops error and the related Required PHP Extensions attention item on System Health, caused by the escapeshellarg function being disabled in the server&amp;rsquo;s PHP configuration, with the fix of adding the missing PHP extensions and recompiling PHP.</description></item><item><title>Whoops Exception Errors</title><link>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/whoops-exception-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/troubleshooting/troubleshoot-cron-issues/whoops-exception-errors/</guid><description>Covers the Maximum execution time of 30 seconds exceeded Whoops exception, attributes it to the cron job exceeding a 30-second PHP max_execution_time value, and gives the fix of raising it to 120 or 300 seconds or setting it directly in the cron command.</description></item><item><title>Update PHP with cPanel MultiPHP</title><link>https://docs.whmcs.com/9-1/system/system-tutorials/update-php-with-cpanel-multiphp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.whmcs.com/9-1/system/system-tutorials/update-php-with-cpanel-multiphp/</guid><description>Steps through selecting a PHP Version for the WHMCS domain in cPanel&amp;rsquo;s MultiPHP Manager, adding the allow_url_fopen and memory_limit php_admin_flag lines in MultiPHP INI Editor, and verifying the WHMCS installation loads without errors afterward.</description></item></channel></rss>