# Troubleshooting

# Installation Services

Save your time and focus on your business

Besides the general configuration, we complete the process according to the configuration, in particular:

  • Let our experts take care of the basic installation and configuration of our packages.
  • Installation of the package on 1 domain.
  • Basic configuration.
  • Integration with supported services (Algolia, YouTube, Facebook, LinkedIn, Twitter, etc.)
  • Check Average project duration: 7-10 work days.

To know more about the installation services, click here: https://www.extly.com/installation-and-configuration-services.html (opens new window)

# Requests

# Why modified articles in the published state, are not processed?

By default, Perfect Publisher only processes new content items. Content modification can be enabled at the plugin level to be received.

For example, if articles are initially created as unpublished and, in a second instance, modified to be published, then they are not processed. To enabled article modifications, in System - Perfect Publisher Content plugin, Posting filter/Process modifications=Yes. This setting is a general method to publish all content modifications.

When Process modifications is enabled, every time you save, a new 'modified"'event is fired, and a new request is added in a 60-seconds window. You can increase this window to add a delay, deliver fewer requests, and sum all changes in a single request (Options/Advanced/Content Polling/Minimum requests polling delay).

INFO

Perfect Publisher PRO has an interactive tool Post manager (opens new window) to choose when an article has to be pushed (Post This=Yes) into the publishing queue (or not, Post This=No).

Ref: How content can be republished? (opens new window)

# There are requests in the list, waiting to be published, but they are not delivered; why?

Perfect Publisher is designed to avoid any overload on your website while it processes social posts. Hence, there is always a delayed publication caused by Social Channel API processing times. By default, in Page Load mode, only when front pages are visited, Requests and Posts are processed by the Automator plugin (every 2-3 minutes).

The processing modes are:

  • Manual,
  • Automator Plugin (default), or
  • CRON job task (available only in Perfect Publisher Basic and PRO).

Running in Automator Plugin mode (default), posts are only processed when the front website is visited. If your site does not have visits on the front site, Perfect Publisher does not process waiting requests and posts.

On the other hand, you can manually click Process for Requests or Publish for Posts to publish them, or schedule a CRON job task to work in fixed intervals.

If you plan to configure the CRON job task, please, check these steps:

# Perfect Publisher does not detect articles imported from RSS feeds

Perfect Publisher detects new articles even if they are inserted from other third-party extensions.

However, since Perfect Publisher checks the database applying time filters, new articles must be published within a certain date range.

If the articles are not detected, please, try to increase the polling window to include a bigger date range.

You can find the Polling window (hours) parameter in: Control Panel / Options / Advanced settings / Content Polling Settings / Polling window (hours).

After you change the parameter, it will retrieve the articles, within the new polling window, in the next check.

# Evergreens are published at a different fixed time; why?

If the time difference is the same, then your hosting could have time zone misconfiguration.

For instance, this misconfiguration was found in a customer site:

  • Joomla! Server Time Zone = UTC
  • System Information/ PHP Information/ PHP date Default timezone = UTC
  • System Information/ PHP Information/ PHP date.timezone = America/Chicago (UTC-6, Daylight Saving Time, UTC-5)

Please, verify if each setting matches your Joomla! configuration and ask your hosting provider to update PHP Information.

# Posts

# "Immediate" posts are not published immediately; why?

In Perfect Publisher, Post This= Immediately defines a request and a following post with the highest priority to be processed in the first place. Once a request is received, it follows the same steps of the general workflow. For example, to apply all rules and deliver the posts to all (unlimited) channels. According to your configuration, the publishing process can be long and "Immediately" can be translated to several processing steps.

To deliver "Immediate" posts faster, you can increase the Cron job frequency (opens new window) or increase the number of processed posts in each execution (Options/ Cron job/ Max. no. of posts).

# Images with spaces in the filename are not shown on social networks; why?

It is not recommended to define URLs with spaces.

A local file can have spaces. However, a valid URL encodes space with %20 or +. Both cases are accepted in different ways in each social network, browser, and device. In the end, it is better to avoid them. For instance, an article title is always translated to a slug with - instead of spaces. The same practice has to be applied to image filenames.

# I have enabled Cron job mode; posts are 'Waiting' but not delivered; why?

There are several alternative execution methods (opens new window). Please, check which method works in your hosting, review hosting documentation or ask your hosting support which one is available.

To check if the Cron job command is executing, you can enable the logging mode (opens new window) and look for periodic executions. If they are missing or not matching your Cron job frequency definition, it is not executing.

# Wrong character encoding, characters of the intro text are wrong in a published Post, why?

Perfect Publisher is fully compatible with UTF8 and non-Latin characters. Many users work with languages such as Greek, Russian, Chinese, among others.

However, PHP and MySQL UTF8 support have improved on the latest versions.

Wrong character encoding is usually associated with a legacy PHP version. Most issues are associated with the latest stable PHP versions. What is your PHP version?

Please, update to the latest PHP stable version.

# Why are social posts not published?

See There are requests on the list, waiting to be published, but they are not delivered, why? (opens new window)

Check if the article, category, and menu are set to public access. If not, the user has to log in to read the article.

Alternatively, if there is more than one menu access path, the SEF router may choose restricted access. In this case, review your extension configuration or re-organize the alternative accesses to route the traffic to the right menu.

# Post is delivered with a shortened URL, but the link does not target the right item; why?

Related to: Wrong URLs in posts

Perfect Publisher generates posts in the back-end. Since front-end and back-end sites are different sites, a connection is opened from the back-end site to the front-end site to solve the SEF query and generate the link.

If there is any issue in the SEF query, then the resulting shortened URL may be different than the real link. The most common issues in the connection are:

To investigate the case, please, enable the logging mode (opens new window), test a case, and send us the resulting logged file to check it.

# Channels

# Facebook Troubleshooting

# How can I auto-publish to my user profile on Facebook?

Facebook has deprecated user channels from the API. So, there is no longer a way to auto-publish posts to user profiles via a User Channel. To share a link, Facebook is currently enforcing the use of sharing buttons to share posts and links into the user profile manually.

# The Facebook Login button is not shown to authorize theAppp; why?

The Facebook Login button is shown on the page when Facebook SDK is initialized correctly in the page.

If the button is not shown, these are the most common sources of the problem:

  • Another extension on the site has already initialized Facebook SDK with different scope. Try to temporarily disable other extensions that also have Facebook Apps to confirm if there is a conflict between them. After the authorization, you can re-enable them.
  • A security extension, a CDN service, or a security service is blocking Facebook Login. For instance, Cloudflare or Kaspersky Total Security are known to restrict the SDK.

# Invalid Scopes: publish_pages, manage_pages

You have created an App after 2020-05-05, then the App has API v7 or superior. Please, select the API v7 option before authorizing the App.

# Invalid Scopes: publish_actions, publish_pages, manage_pages, user_managed_groups, user_photos

Ref: 100 - Graph error: (#100) Only owners of the URL have the ability to specify the picture, name, thumbnail or description params

After the Facebook–Cambridge Analytica data scandal (opens new window), Facebook enforced an App Review procedure to confirm who was accessing the platform functionality and the data, even for the simplest case of post publishing. With the release of API 8, the App Review process has been simplified, introducing a new access level for Apps (BAUPA, Business Asset User Profile Access). By default, all new apps created with API 8 or superior are granted Standard Access for the permissions required to publish to a page, so it is unnecessary to submit the app for review. For more information, App Review improvements for Business Developers (opens new window).

However, in all cases, Facebook requires declaring the ownership of Pages and the associated domains in the Facebook Business Manager. Please, take time to plan the creation of a site, the associated Facebook page, and the Business Manager account (opens new window).

# Which is the API version of my App?

Go to https://developers.facebook.com/apps/ (opens new window). Select the App, go to Settings, Advanced.

Which is the API version of my App

# 100 - Graph error: (#100) Only owners of the URL have the ability to specify the picture, name, thumbnail or description params

On November 7, 2017, Facebook released API 2.11, including a restriction to publish only URLs from validated domains. The posts can be published only from the authors who own a Page and an associated domain. No post will be published unless it is published by the team associated with Page, Domain and App.

More information: Domain Verification (opens new window)

To know more about the steps to claim the ownership of a domain, please, visit our Setup your Business Account Guide (opens new window).

# Facebook shows the wrong image; why?

  • REF: Facebook shows a post with a blank rectangle
  • REF: Facebook shows the wrong description, why?

When you share a link with Facebook API, the value of picture, name, caption, thumbnail, description is taken ONLY from the OpenGraph Tags (opens new window). Facebook ignores the image that Perfect Publisher defines in the API call and loads the image and other fields directly from the link. Facebook reads OpenGraph Tags and uses these tags to retrieve the page information. To guide Facebook in choosing the image, we recommend installing and configuring Perfect Publisher OpenGraph Tags (opens new window) plugin. The latest version of the plugin comes with the Smart Generator to generate exactly the right tags for each link associated with a processed post.

If it is not the image you expect, it could be the image defined as default image in the general Options configuration.

If Facebook cannot load the specified Post image, it loads alternative images or a blank rectangle. For instance, a customer has restricted external image access in the site's internal pages and is only allowed access to the Home images. Then, Facebook has detected images from the Home page and included one of them in the Post.

Images must be bigger than 200x200px. These are the recommended image sizes: [General Facebook Guidelines](https://www.extly.com/docs/perfect_publisher/faq/#general-facebook-guidelines (opens new window). For maximum compatibility, remember to use only alphanumeric characters in the file name. Spaces and special characters are frequently a source of problems.

To check these cases, you can test them with Facebook Sharing Debugger. This tool shows how the image is accessed from Facebook servers: https://developers.facebook.com/tools/debug/sharing/ (opens new window)

As a reference, the Facebook Sharing Debugger output for an image must show the image like this one: https://developers.facebook.com/tools/debug/sharing/?q=http%3A%2F%2Fvia.placeholder.com%2F720x405 (opens new window). If your test does not show the image in the Link Preview, then Facebook cannot load it. In some way, it is being blocked. You can verify any URL or an image and get results about how Facebook scrapes your site. It should always get a Response Code 20x and show a Link Preview.

If you have added additional restrictions to htaccess or robots.txt, please, try to restore the original Joomla! htaccess and robots.txt. If the problem remains, ask your hosting provider what can be happening (mod_security?).

# 32 - Graph error: (#32) Page request limited reached

Facebook has applied a rate limit to your account. So, the only way to solve this issue is to reduce or distribute the load. For more information:

Particularly, Improving Rate Limits for Page Management Apps (opens new window)

If you share requests to the page between several tools or apps, it could be hitting the limit.

# Facebook Channel Re-Authorization Procedure

  1. Log in to your Facebook account and remove the App from your account: Settings & Privacy / Settings / Security and Login / Business Integrations.

Account Settings / Business Integrations

  1. Logout from Facebook. Close your browser (to finish the session and clear the session cache). Alternatively, you can open a New Private/Incognito Window. Log in to Facebook and check that the App is no longer associated with your user account in the Business Integrations.

  2. Log in to your Joomla! back-end and authorize the channel as shown in this tutorial (opens new window).

# Twitter X Troubleshooting

# Error 403

As of May 2023, Twitter X changed the terms of service and forced Twitter X API v2 on all accounts. Since then, Twitter is making continuous changes to the Developer Portal and the apps. If you receive a communication with this error, it's because the app has been moved from your project to Standalone App.

Go to your Twitter Developer Portal Dashboard and check where is located the app. If it's in the Standalone area, you can move it again to your project:

Error 403

Error 403

Error 403

Error 403

Error 403

Once you moved the app, you will need to regenerate the Access Token, because it is shown as created as Read-only.

At this point, you will need to create and authorize a new Twitter channel.

# 226 - This request looks like it might be automated.

Twitter is not allowing your content to be added to its platform. This message is coming from the new Twitter spam protection mechanism. There are several possible causes, for instance:

  • Twitter App is sending the same Tweet multiple times to several timelines.
  • Twitter suspects the account or hosting is possibly compromised.
  • Twitter spam filters may be just rejecting the content itself.

Please, try to reduce the number of Tweets, the target channels or change the message format for each channel.

TIP

If you are not particularly flooding your timeline with test tweets, then someone in your neighborhood (in the same hosting or IP) might be a spammer. In this case, Twitter has banned the whole server, and there is not much else to do.

Ref: Error Code 226 - This request looks like it might be automated (opens new window)

We constantly monitor and adjust our filters to block spam and malicious activity on the Twitter platform. These systems are tuned in real-time. If you get this response, our systems have flagged the Tweet or DM as possibly fitting this profile. If you feel that the Tweet or DM you attempted to create was flagged in error, please report the details around that to us by filing a ticket at https://support.twitter.com/forms.

Filling a ticket at the above URL is the best course of action to resolve any false positives we may be seeing in these detection efforts.

# Couldn't resolve host 'api.twitter.com'

Ref: Operation timed out after 5000 milliseconds with 0 bytes received

Your server is unable to find the Twitter API server. This is related to a network issue.

Please check with your server support if this is a general server issue or temporary problem. If your hosting provider is having problems with the DNS service, then it can be intermittent.

To retry a request, in the Requests list, you can move the Request back to Processed=No, and wait until the next execution to check. In the Posts list, you can filter for the specific channel posts and Status=Error, then you can move them back to "Pending" (for manual approval) or "Waiting" (for Cronjob processing).

# Telegram Troubleshooting

# Telegram login failed

Forbidden: bot is not a member of the channel chat

Telegram has recently modified the procedure to authorize a Bot to publish into a Channel. Now, it is required to add the bot as a member and administrator to the channel.

Please, follow these steps. In any Telegram client:

  1. Open Channel info (in app title)
  2. Choose Administrators
  3. Add Administrator
  4. There will be no bots in the contact list, so you need to search for it.
  5. Enter your bot's username
  6. Clicking on it, you make it as administrator.

Ref: How to autopost from Joomla! to Telegram (opens new window)

# LinkedIn Troubleshooting

# Error Scope "r_organization_social" is not authorized for your application

LinkedIn now requires an organization review to approve apps for company page publishing. For more information: LinkedIn Marketing Developer Program (opens new window).

# Invalid redirect_uri. This value must match a URL registered with the API Key, why?

The error is caused by any difference or an uninitialized Authorized Redirection URLs field. Have you added all of your URLs to the list of URLs permanently?

Some common mistakes are:

  • You define the URL but forget to click on the Add button
  • http vs https
  • space at the beginning/end
  • www or not www

Ref: How to autopost from Joomla! to LinkedIn (opens new window)

# 401 - Unable to verify access token. I got this today, before everything worked; why?

# 401 - Not Authorized

By default, LinkedIn Tokens has a duration of 2 months.

However, in some cases, the LinkedIn token expires unexpectedly. The reasons are not clear. The expiration could be caused by:

  • The user has revoked the permission they initially granted to your application
  • You have changed the member permissions (scope) your application is requesting

Additionally, if you change your password or other software uses the same App,the token can expire before two months.

In some cases, we find that if you access your LinkedIn account frequently, then the token never expires. It is not a written rule, only a finding of our work for some projects.

Please, proceed to reauthorize your LinkedIn channel.

# I cannot authorize, I got "Invalid Redirect URI", why?

Concerning second error, "Invalid redirect URI", there is a mismatch between your site and your LinkedIn App.

Your Authorized Redirect URL must be permanently added to the list and match your site.

# I can't authorize the channel. Error: Could not get access token

When you authorize the channel and give your approval in LinkedIn, the social network sends a temporary code to your site.

In the second leg of the authorization, the temporary code is exchanged to the final access token by Perfect Publisher. If the extension cannot connect to LinkedIn servers, this error is received: Error: Could not access token.

Please ask your hosting provider if there is any security restriction to call https://api.linkedin.com (opens new window).

# ... throttling limit for this user/application has been reached for LinkedIn resource

LinkedIn is not accepting more activities from your account. Please, try to reduce your activity to avoid this error; every connected App consumes API calls.

Reference: Throttle Limits, https://developer.linkedin.com/documents/throttle-limits (opens new window)

# Google Account Troubleshooting

# Invalid field: Access token / Error fetching OAuth2 access token, message: 'invalid_client'

Please, remove JavaScript Origins from Client ID or Referers from Key for browser applications, and try again. It must be none and Any referer allowed for each one.

TIP

You do NOT have to write anything and Any referer allowed in the fields; you have to clear these fields, removing any entered value.

Your Client ID and Key for browser application must exactly match this slide:

How to autopost from Joomla! to Google Blogger (opens new window)

TIP

The domain must be exactly the same back-end URL. www... does matter, if there is a minor difference, even just www, it is a wholly different security domain.

Additionally, check if you have copy-pasted additional spaces, for instance, in the Client Secret field.

Finally, make sure that you have the following APIs are enabled in https://console.developers.google.com, under "APIs":

  • Google Blogger API
  • Contacts API (just in case, it is not always required)

# When I try to authorize the Google Channel, I receive a "redirect_uri_mismatch" error; why?

The error is caused by any minor difference in the App Redirect Uri definition. For example:

  • http vs. https
  • space at the beginning/end
  • www or not www

Please, delete the channel, remove the App from your authorized Apps (https://plus.google.com/u/0/apps (opens new window)), access your site with a different browser (or with a Private Tab), recreate the channel and try to authorize it again.

# Plugins

# I have updated to a new version, and a Perfect Publisher integration stopped working

Perfect Publisher includes a component, modules, core plugins, and optional plugins. Perfect Publisher component, modules, and core plugins are updated by Joomla! Extensions installer. But, Perfect Publisher optional plugins, which are manually installed, must also be manually updated following the same procedure.

After a Perfect Publisher update, please, verify if you have installed the latest version of the optional plugins. You can find them in the same Perfect Publisher version package UNZIPME-perfect-publisher-.....zip.

You can also check the latest versions in Perfect Publisher / System Check.

# I have installed the plugin without error, but nothing gets published.

Please, check the content flow:

  1. Plugin: Is the plugin activated? Have you enabled any plugin filters? Please, try to disable them just to check.
  2. Request: are they processed? Are they waiting? Q: There are requests on the list, waiting to be published, but they are not delivered, why?
  3. Rules: Have you created rules? Please, try to disable them just to check if they are affecting the processing.
  4. Posts: are they published into the channel?

If these basic tips do not solve the issue, please try to enable the logging mode (opens new window) to inspect the internal processing.

In any case, if you cannot solve the case, please, send us the logged file to our support service (opens new window) to review it.

# General

# Deprecated notices in the extension output

  • Warning: "continue" targeting switch is equivalent to "break"
  • Deprecated: Function create_function() is deprecated in ...

# Understanding Extension Notices

Sometimes, when using certain extensions, you might encounter notices about specific elements being deprecated. It's important to understand what these notices mean and how they affect your website.

# What are Deprecation Notices?

In simpler terms, a deprecation notice is like a heads-up from the extension. It's letting you know that certain parts of its code are not going to be supported in future versions of PHP, particularly PHP 8. These notices are not errors; they're just reminders for developers to pay attention to potential changes.

# Our Ongoing Work

Rest assured, our development team is actively working on the next version of the extension. This upcoming release will seamlessly integrate with PHP 8 and won't support older PHP versions. So, while you may see these notices now, they will not affect your website's functionality in the future.

# Managing Notices

For the time being, you can safely ignore these notices. However, if they bother you or clutter your development environment, you have the option to adjust your site's error reporting settings. These notices typically appear when your site is in development mode or when maximum error reporting is enabled.

When your site is live and serving visitors, we recommend setting the "Error Reporting" to "None". This ensures a clean and tidy user experience without exposing internal information or distracting users with unnecessary notices. Importantly, this configuration won't impact the functionality of your installed extensions.

By following these guidelines, you can maintain a smooth and efficient website experience for both developers and end-users alike.

# Channel manager only shows a "loading" message

Error message: "loading" or "Requesting channel data"

There is an HTML/JavaScript error caused by a site misconfiguration or a security restriction on your site.

The channel manager loads the channel type sub-form with an Ajax query to your back-end site. If the form cannot be retrieved, the "loading" message is not replaced by the right sub-form.

Several hosting issues can generate this behavior:

  • Directory Permissions, check if Joomla! directory permissions are Writable (System/System Information/Directory Permissions). Particularly, media/lib_extly/tmp directory.
  • JavaScript errors, if there is any JavaScript error, the form load is not going to be completed.
  • HTML errors, your site does not have a valid HTML body structure. Please, try to locate the source of the invalid HTML page.
  • Advanced optimization techniques, several layers of compression can interfere with JavaScript and Html code. Please, check your hosting configuration to discover the problem source (disabling one by one)—for instance, CloudFlare, PageSpeed, RokBooster, etc.
  • Security restrictions, if there is a restriction to back-end Ajax queries, then connections will not be completed. For example, mod_security can disable these queries; please, try to disable mod_security or any other security mechanism temporarily.
  • JomSocial Azrul's plugin adds a JavaScript routine to the whole site. Please, try to disable this plugin.

In addition, you can inspect your browser console to discover if there is a JavaScript error behind it. Press Control-Shift-J, and access the page to discover any HTML/JavaScript error.

References:

# Feeds

# Articles from RSS feeds are not detected; why?

Q: I have an extension that imports articles from RSS feeds, but Perfect Publisher does not see those posts. Is there a way to make it so Perfect Publisher will post all new articles regardless of how they are created on the site?

A: Perfect Publisher detects the new articles, but they have to be published and within a certain date range. Are you importing articles with today's date or older?

Please, try to adjust the Polling window (hours) to load older articles (Control Panel / Options / Advanced Settings / Content Polling Settings / Polling window ); by default it is defined as 24 hours window.

# Error: A feed could not be found at ... A feed with an invalid mime type

This error is found when the RSS library cannot process and parse the Feed type.

Please, double-check the RSS Url, or try to load it with a different RSS reader.

The RSS Url must be a valid XML. You can check it with https://validator.w3.org (opens new window)

TIP

If you are sure that the RSS Url is correct, you know what the source site is generating it with Joomla! and the site has Admin Tools, please, disable Malicious User Agent block (MUAShield). (WAF / Active Request Filtering). More info about the issue, #26809 – MUA Shield blocking Simple Pie requests (opens new window).

# System Check

# The System Check is showing a red timestamp difference, why?

A timestamp difference signals that your server clock is not updated. Facebook, Twitter, etc. are not going to accept your server-side OAuth authentication. Please, check with your hosting provider to update the server clock.

TIP

In System Check, if the timestamp difference is small, less than 10 seconds, it should not affect the OAuth authentication. It may be caused by server virtualization or networking delays.

Server timestamp is not related to Joomla! time/timezone or User timezone. Server timestamp is universally defined as the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, January 1 1970. Unix time is not defined according to time zones. Read more, https://en.wikipedia.org/wiki/Unix_time.

# The System Check is showing a red Timestamp difference (998), why?

Concerning Timestamp difference (998), you have disabled "Version check (Offline mode)" (Control Panel / Options / Live Update tab). In this mode, Timestamp is not checked, and it just shows 998. Please, try to enable it again just to check your site Timestamp.

# The System Check is showing a red Timestamp difference (999), why?

Concerning Timestamp difference (999), Perfect Publisher is unable to verify the timestamp. Perfect Publisher opens an external connection to verify the server time. Particularly, it opens a secured SSL connection, via cURL module, to Twitter servers. Please, check with your hosting provider if there is any restriction or misconfiguration to perform this basic action.

# Installation - Upgrade

# Tried upload and got this error message: Parse error: syntax error, unexpected T_FUNCTION

You are running an outdated version of PHP (not stable), which is not supported by the extension.

Please upgrade to the latest PHP stable version or later as soon as possible (previous PHP versions are no longer considered stable. They don't have Bug fixes, Patches, or Security issues fixes).

# Live Update does not work; Update path does not exist

Joomla! shows this error message when you try to update to the extension latest version.

Warning

Update path does not exist Message

Error updating COM_INSTALLER_TYPE_TYPE_.

Live Update does not work, Update path does not exist

Joomla! cannot successfully download and install the file.

Have you assigned the Download ID? It is required to authorize downloads.

  1. Please, click here (opens new window) to access your Download ID.
  2. Copy and paste Download ID into component Options/Live update/Download ID field
  3. Update from "Extension Manager: Update"

If the problem persists, we have found a minor incompatibility in the latest Joomla! installer plugin, please manually download (opens new window) the extension and install it to update the installer plugin and the rest of the associated files. Next time, it will be updated with no errors.

# Cron created but no processing, why?

To verify if the Cron job command is executing, please, enable the logging mode (opens new window) and check if log entries are recorded following the defined interval.

If no records are added after a while, then it is not executing.

In general, we recommend executing the Native CRON script (opens new window), but there are also many alternatives.

Since every hosting platform has its own settings, please, ask your hosting provider what is the best way, check the hosting documentation, or send them the command script to verify it. Sometimes, the command-line requires additional permissions or a slightly different command.

# Executing in Cron job mode, posts have this domain-error-running-as-cronjob.com/home/... URL, why?

When you run Perfect Publisher in a command-line context, there is no way to know the real URL domain. Base URL Override parameter must be defined to create the right URLs.

# My system shows a Blank White Page. What should I do?

A blank white page is an error page!

Due to PHP errors, Perfect Publisher (or any other Joomla! extensions) can stop working without displaying an error, just a Blank Page. The Blank Page is caused by disabled PHP Error Reporting. It is a common security measure in production sites.

Again, a white page is just an error page where your configuration has suppressed the error message. Once you solve the error, the site is going to be back to the normal state.

In these cases, you have to enable PHP Error Reporting to find out what the error behind the white page is:

  1. Check your server error logs (not the access logs): even when PHP Errors are disabled, they may be saved in an error log file.
  2. Joomla! Configuration - Error Reporting: go to Joomla! Administration / Global Configuration / Server, and enable "Error Reporting" to Maximum.
  3. If your site still shows a Blank Page, your hosting provider may have restricted this setting too.
  4. Additionally, if you can't access the back-end website, check the next cases.
  5. Hosting Configuration: visit CPanel, or your hosting control panel, and try to enable PHP Error Reporting in this area.
  6. Alternatively, you can ask your Hosting Support how to enable it.
  7. PHP Configuration: enable display_errors to "on" in php.ini

# A solution for 80% of Blank White Pages

You have installed an extension (package). Joomla! is trying to load several new system plugins, a dependency is not fulfilled, or there is a PHP error on your site.

  1. If the front-end website is down, Joomla! back-end may work (it does not load the same plugins). Please, try to access the back-end to disable the latest installed "system" plugins.
  2. If the Joomla! back-end is also down, try to access your Database and manually disable the latest installed plugins.

For example, to review the latest installed plugins from phpMyAdmin/MySQL:

To disable a plugin, change the enabled column to 0.

# What can I do to get my system back if the white page persists?

There is an alternative way to avoid a system plugin load, but it requires access directly to website files and removing them. Please, proceed with the following steps:

  • Access your site directory, for example, via FTP
  • Rename the latest installed system plugins folders in "[Joomla!_root]/plugins/system/"

# Next time

We develop and test our extensions to minimize conflicts and installation problems. However, we can't preview all environments and extension combinations. It is also common to find very restrictive or very resource-limited hosting platforms. To avoid this problem, we recommend:

  • Always, test new software on a development site.
  • Always, create and check to have a recent backup at hand (test how to restore it quickly). Akeeba backup (opens new window) is a great component and very easy to use.
  • Always, if you will install it on your live/production site, install it at a convenient time (Eg the weekend). You can also announce a downtime window to upgrade your site and be ready for a rollback.

# Logging Mode: Developer's swiss army knife

The Logging Mode is a key tool to check the extension's inner workings. It is a handy way to check component internals beyond a simple error message.

You can enable several logging modes to leave a track of server-side operations.

To enable the Logging mode:

  • Access the Options menu in Components/(Extension Name) Control Panel.
  • In the System Settings folder,
  • Enable the: Logging level (For example, 3-All)
  • And, select the Logging mode (For example, To logfile only or To logfile and screen)

Logging Mode: Developer's swiss army knife

As a result, xt-logging.log file is generated with all operations details into logs/ directory. Please, check the file generated in logs/xt-logging.log or administrator/logs/xt-logging.log.

TIP

To check in full detail how it is executing, you can just enable the Logging mode to show 3-All To screen only, and manually Process requests or Publish Posts.

xt-logging.log can be downloaded from System Check.

System Check - xt-logging.log

Last Updated: 3/20/2024, 3:32:54 PM