Chapter 43 of 43 · Customization and Troubleshooting

Troubleshooting and Common Questions

Most problems have a simple cause. Start with the symptom that matches yours.

PHP Business Directory 6.1 · 3 min read · Download the manual as PDF

If your problem is not listed here, contact NetArt Media support with a short description and a screenshot of what you see.

Emails do not arrive

  • Set System Email Address to an address on your own domain. Many providers reject emails "from" Gmail or Outlook addresses sent by another server.
  • Check the spam folder, and add SPF and DKIM records for your domain in your DNS settings; your host can help.
  • By default emails are sent with PHP's mail() function. If your host does not allow it, emails can be sent through an SMTP server instead. Add these settings to the directory_settings table in phpMyAdmin (columns setting_key and setting_value): use_smtp = 1, smtp_host, smtp_port (for example 587), smtp_secure (tls or ssl), smtp_user and smtp_password.

Image uploads fail

  • The image may be larger than your server allows (often 2 MB). Resize photos to about 1600 pixels wide before uploading, or ask your hosting provider to raise the limit.

Saving categories or locations shows an error

The category and location trees are saved as files on the server. Ask your hosting provider to make the categories and locations folders writable.

A listing does not appear on the website

  • It is waiting in Directory › Approve Listings.
  • It has expired. Renew it in Directory › Current Listings.
  • It does not appear on the map: it has no latitude and longitude. Open it in the listing editor and use the map to set its position.

The AI test connection fails

  • Check that the key was copied completely and saved before testing.
  • Use Quick setup to make sure the API URL and model match the provider of the key.
  • OpenAI and DeepSeek keys need credit on the account.
  • The PHP cURL extension must be enabled, and the server must be allowed to connect to the internet over HTTPS.

The AI Search tab or the writing assistant is missing

Both Enable AI features and the feature's own switch must be on, and an API key must be saved. For visitors who are not logged in, the writing assistant also needs Allow visitors who are not logged in to use the writing assistant.

A Stripe payment is not shown as paid

  • The Stripe Secret Key must be filled in; it is used to confirm each payment.
  • If the customer closed the browser on Stripe's page, the payment is only recorded through the webhook. Set it up as described in Payments, and check its deliveries in the Stripe dashboard.
  • Test and live keys must not be mixed: test payments only exist with test keys.
  • The currency in Stripe must match the Website Currency; payments in another currency or for a lower amount are refused.

Banners or ads do not appear

  • A banner must be Active, not expired, and in an area whose position is used by your template. Areas with the position "Only where its template tag is placed" need their [BANNER_AREA_n] tag.
  • An ad zone must be enabled and contain code or an image. Ad blockers in your own browser hide many ads; check in a private window without extensions.

"Open now" shows the wrong status

Set the correct System Timezone in Settings › Configuration Options.

Accented characters or emoji look wrong

When importing CSV files, save them with UTF-8 encoding. Text that was pasted from a word processor can also contain unusual characters: paste it as plain text.

I forgot the admin password

If another administrator can log in, they can set a new password in Admin Users › Admin Users. Otherwise, create a password hash with PHP, for example by running php -r "echo password_hash('NewPassword123', PASSWORD_DEFAULT);" on a computer with PHP, and paste the result into the password_hash column of your account in the directory_admin_users table with phpMyAdmin.

Changes do not show on the website

Reload the page with Ctrl+F5 (Cmd+Shift+R on a Mac) to bypass the browser cache. If your host or a service such as Cloudflare caches pages, clear that cache too.