Warning: Joomla 2.5 and Joomla 3.0 Do Not Have the Same Infrastructure

Very early in the morning today, one of our regular customers came to us and told us that his website was down because of a “missing field” in the jos_content (of course, jos_ was not his real prefix) table. We checked his website and we were greeted by an error complaining about an unknown column called a.title_alias in a certain query. We searched for the file containing the offending query, and it was the article.php file located under the /components/com_content/models/ directory. We compared that file to that of a clean installation of Joomla 2.5, and they were identical!

We then looked at the database using phpMyAdmin, and, as expected, the field did not exist in the jos_content table. But, should that field exist in the first place? In order to answer this question, we checked the mysql installation file (that file is called joomla.sql and is located under the /installation/sql/mysql folder) for Joomla 2.5 and we discovered that the field existed in the declaration of the jos_content table, which means that the field should be there. But how come it’s not there?

After thorough investigation, we discovered that the client had a Joomla 3.0 website, did not like it, and tried to use Joomla 2.5 instead. Here’s what he did:

  • He moved the actual physical directory of his Joomla website (his Joomla website was directly located in the public_html directory) to another temp directory.
  • He extracted Joomla 2.5 to the public_html directory.

  • He removed the installation folder from the Joomla 2.5 website, and then copied the templates and the images directory from the Joomla 3.0 website (his old website) to the Joomla 2.5 website (his new website). He also copied the configuration.php file from the old website to the new website.

He did the above because he was under the impression that while the filesystem may have differed from Joomla 2.5 to Joomla 3.0, the database infrastructure was the same – while in fact, it’s not!

What did we do to resolve the problem?

In order to resolve the issue, we reverted our client’s work. Here’s how:

  • We moved the contents of his public_html directory to another directory.
  • We extracted the latest copy of Joomla 3.0 to his public_html directory.

  • We then copied the images and the templates directories from his old (original website) to the new one, as well as the configuration.php file.

  • We removed the installation folder and then copied the directories of some extensions from the old website to the new website (these extensions were installed in the original 3.0 Joomla website and existed in the database, but did not physically exist in the new website).

  • Since our client was using hostgator, we added the following line to the .htaccess file of the Joomla website:

    AddType application/x-httpd-php53 .php

    Without the above line, the Joomla website will throw the following error:

    Your host needs to use php 5.3.1 or higher to run this version of Joomla.

    Note that from our experience, this step should only be done when you’re using hostgator and installing Joomla 3.0.

  • Once we did the above steps, the problem was fixed and his website worked normally (he was still running Joomla 3.0 though).

So, as you can see from the above, Joomla 2.5 and Joomla 3.0 do not have neither the same filesystem nor the same database, they are two different CMS’s!

If you ran into the same problem and you’re still unable to salvage your Joomla website, then you probably need our help! Just contact us and we’ll prove to you how fast, reliable, and efficient we are. We’re also very affordable! Go ahead, shoot us an email!

No comments yet.

Leave a comment