Upgrade from 2.8.3 to 3.0.4 gives blank frontend

Hi!
i have a similar problem like a user some time ago - i updated from 2.8.3. to 3.0.4 - the manager is ok - but i get a 500 error on my frontend page.

PHP Version is 8.1.

i must admit, i didnt update all extras before - however i did afterwards.
I deleted lingua, maybe there are still fragments of lingua somewhere around the code.
But i dont know - pretty frustrated.

The Error - log file gives me following error:

[2024-01-29 17:34:18] (ERROR @ … /core/vendor/xpdo/xpdo/src/xPDO/xPDO.php : 473) Path specified for package translations is not a valid or accessible directory: …/core/components/translations/model/

thx for help!

The Error Log after updating to 3.0.4. also gives me constant error information regarding the xPDO.php on various lines always containing this information:

“Replace references to class modResource with MODX\Revolution\modResource to take advantage of PSR-4 autoloading.”

unfortunately dont know what to do …

500 errors are usually not logged in the MODX error log.

Try to locate the server/PHP error log (the exact path depends on the server configuration) to get the specific error message.

thats in my php error log:
[Mon Jan 29 22:34:33 2024] [authz_core:error] [pid 5852] [client 5.175.14.0] [host www.wood-cube.com] AH01630: client denied by server configuration: /is/htdocs/…/www/woodcube/core/docs/changelog.txt

Is that all?


The “client denied by server” when trying to access “core/docs/changelog.txt” log message is nothing to worry about. MODX just tests if the “core” folder is protected by trying to access “core/docs/changelog.txt”. If you see this message in the log, then everything is ok.

unfortunately thats all …
dont know why www.wood-cube.com/index.php is not showing, while manager is working fine?

Even your “favicon.ico” file gives a 500 error?!
Maybe it’s a problem with the .htaccess file.

thats my .htaccess file:

RewriteEngine On
RewriteBase /

RewriteRule “^.well-known/” - [L]

RewriteRule “/.|^.(?!well-known/)” - [F]

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} !^443
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

The Friendly URLs part

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Without a proper error message it’s hard to debug what causes the error.

  • Try creating a resource with (empty) as the template and no snippet calls (or other MODX tags) in the content and check if you can successfully load that.
  • There are system events that only run on front-end requests (E.g. events like OnWebPagePrerender, OnWebPageComplete, etc.). So it could be, that there is a bug in a plugin, that doesn’t run on manager request.
    Try (temporarily) deactivating the plugins and see if that helps. (There is a checkbox in the plugin to deactivate it.)
  • Check the system setting extension_packages to make sure that it only contains valid packages.
  1. tried an empty resource with no template. couldnt load this content.
  2. deactiveted all the plugins - no effect
  3. no packages are loaded on modx initialization

Is your core directory under the site’s web root? That’s required in MODX 3.

Have you checked the info in the core/config/config.inc.php file? And the three config.core.php files?

If you had to move the core, they would need changing.

Did you use the UpgradeMODX extra to do the upgrade?

yes, it is under the web root.
i checked the core/config/config.inc.php file and the other three config.corre.php files - everything’s ok.-

yes, i used the upgradeMODX extra to do the upgrade.

before i upgraded i have always renamed the connectors directory and the manager directory for security reasons. is this a problem in MODX 3? it worked well in MODX 2.

It’s possible that UpgradeMODX wouldn’t handle the renamed directories correctly, but if so, the paths and URLs in config.inc.php would be wrong, and it wouldn’t have worked in MODX 2.

Make sure every template has this tag in the head section (with the exclamation point).

<base href="[[!++site_url]]" />

Did you upgrade to 3.0 before going to 3.0.4?

Many times upgrading older websites from 2.8.x to 3.0.x I often got this error. And every time the problem was in corrupt paths of the config files.

Check the three config.core.php in the root and in /connectors and /manager and the config.inc.php in core/config.

This was my disaster thread: Every upgrade from 2 to 3 ends in a disaster
Maybe it can help.