?
avatar Gitjk
Gitjk
10 Aug 2017

Steps to reproduce the issue

  1. Take a Joomla 3.7.4 website, which has the 'New Router' (jlrouter) already installed as a plugin.
  2. Uninstall the 'New Router' plugin.
  3. Update to Joomla 3.8 Beta

Expected result

No error messages

Actual result

On several pages, for example in Joomla administration 'System' > 'Control Panel' I have:
Notice: Constant JROUTER_MODE_RAW already defined in ...\libraries\cms\router\router.php on line 17
Notice: Constant JROUTER_MODE_SEF already defined in ...\libraries\cms\router\router.php on line 24

Also, with some menu links, for example 'Clear Cache' > 'Delete All', I get:
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.1
Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.6.28

System information (as much as possible)

Additional comments

At first I forgot to uninstall the jlrouter plugin and thought the errors might go away if I uninstall the new router plugin first. But the errors are identical in both cases.

I took the Joomla_3.8.0-beta1-Beta-Update_Package.zip for the update

Not sure if this is relevant, but my Joomla version info still says 3.7.4

avatar Gitjk Gitjk - open - 10 Aug 2017
avatar joomla-cms-bot joomla-cms-bot - labeled - 10 Aug 2017
avatar Gitjk Gitjk - change - 10 Aug 2017
The description was changed
avatar Gitjk Gitjk - edited - 10 Aug 2017
avatar Gitjk Gitjk - change - 10 Aug 2017
The description was changed
avatar Gitjk Gitjk - edited - 10 Aug 2017
avatar mbabker
mbabker - comment - 10 Aug 2017

An upgraded site should not have the libraries/cms/router directory, the files were moved to libraries/src/Router. This sounds like either a plugin conflict or the upgrade had issues.

avatar Gitjk
Gitjk - comment - 10 Aug 2017

Just checked. Although uninstalling the jlrouter plugin 'sucessfully' according to the Joomla message, I have a different versions of router.php in both locations. If I disable the one in libraries/cms/router, the two error notices go away.
Question: Does the built-in router in 3.8Beta have configuration options, like those in the jlrouter plugin somewhere? Don't see them anywhere. In 3.8Beta I get menu item ids for category blog and category list links in the SEF url.
screen shot 2017-08-10 at 21 32 34


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/17478.

avatar tonypartridge
tonypartridge - comment - 10 Aug 2017

It sounds like this JRouter plugin doesn't have a correct uninstall method then.

The core 3.8 new router can be enabled per component options -> integration

avatar franz-wohlkoenig franz-wohlkoenig - change - 11 Aug 2017
Status New Discussion
avatar Gitjk
Gitjk - comment - 15 Aug 2017

Tested again with J3.8 Beta2. This time the update worked and the new router seems to work too.

(But I admit, that I like the new router as a plugin better, because it provides a central place for the setting of all components. I'm using the new router plugin on several websites since 5 months without a single issue)

When you guys release J3.8 stable, do you still intend to label the new router 'Experimental'?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/17478.

avatar Gitjk Gitjk - change - 15 Aug 2017
Status Discussion Closed
Closed_Date 0000-00-00 00:00:00 2017-08-15 21:02:10
Closed_By Gitjk
avatar Gitjk Gitjk - close - 15 Aug 2017
avatar reboot-sequence
reboot-sequence - comment - 19 Sep 2017

My Git staging/production environment uses zipping extraction from the Git to update the file structure after deploying; so if you're going to 3.8 and you see a 500 error with:

Notice: Constant JROUTER_MODE_RAW already defined in ...\libraries\cms\router\router.php on line 17
Notice: Constant JROUTER_MODE_SEF already defined in ...\libraries\cms\router\router.php on line 24

in your error logs for Nginx you need to drop your current development libraries folder and replace it with the libraries folder from your staging area. This cleared a 500 level error from our Joomla environment and has worked every time (on two Joomla instances so far).


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/17478.

avatar BastianWie
BastianWie - comment - 20 Sep 2017

@reboot-sequence please keep noted that simple file overwrite (from a file or a FTP copy job) isn´t a supported upgrade option since joomla 3.x... If you do only overwrite the files you will get a wide range of issues as seen here for example as some background tasks aren´t running. The only supported way is to use the build in upgrade option from joomla. We used the same approach as you in the past and where advised by the joomla core team to stop the unsupported approach as it will lead to issues and is no longer supported (see here).

Add a Comment

Login with GitHub to post a comment