Diagnostics

Nothing here is stored or sent anywhere. Reload after each change.

PHP version
8.2.30
This application needs PHP 8.0 or newer. Change it in your host control panel.
Extension: pdo_mysql
loaded
Enable pdo_mysql in your hosting control panel (usually under "Select PHP Version").
Extension: curl
loaded
Enable curl in your hosting control panel (usually under "Select PHP Version").
Extension: mbstring
loaded
Enable mbstring in your hosting control panel (usually under "Select PHP Version").
Extension: openssl
loaded
Enable openssl in your hosting control panel (usually under "Select PHP Version").
SITE_URL configured
Still the placeholder: https://example.co.za
Set SITE_URL in includes/config.php to your real https address, no trailing slash. Links and assets fall back to auto-detection until you do, but PayFast callbacks will fail.
Detected base URL
https://course.appax.co.za
This is what the site is using for links and assets right now.
Installed at sub-path
web root
If this looks wrong, your DOCUMENT_ROOT and the upload location disagree.
Stylesheet on disk
14.3 KB at assets/css/site.css
Stylesheet URL
https://course.appax.co.za/assets/css/site.css
Open that address directly. CSS text means it works. A 404, a redirect, or someone else's website means SITE_URL is wrong.
Stylesheet reachable
HTTP 200 · text/css · served correctly
Database connection
Call to undefined function db()
Check DB_HOST, DB_NAME, DB_USER and DB_PASS in includes/config.php, and that the user has been granted rights on that database.
storage/ writable
yes
chmod the storage folder to 775. Only affects logging.
install.php removed
STILL PRESENT
Delete install.php once you have run it.
DEBUG mode
off
Set DEBUG to false before going live.
Serving over https
yes
Fine for local testing. PayFast requires https in production.
PayFast mode
SANDBOX — no real money moves
Set PF_SANDBOX to false when you are ready to take real payments.
PayFast merchant ID
1000…
Put your live merchant ID in includes/config.php.
PayFast passphrase
set (12 chars)
It must match your PayFast dashboard exactly — set in both places or neither. A mismatch is the most common cause of rejected callbacks.
notify.php callback URL
https://course.appax.co.za/notify.php
PayFast must be able to reach this from the public internet. Not behind a password, not on localhost.

Still unstyled after all rows are green? Open https://course.appax.co.za/assets/css/site.css directly. If that shows CSS text but pages are still plain, hard-refresh with Ctrl/Cmd + Shift + R — the browser has cached a failed request.

← Back to the site