Support

UNiTE, Remote CLI, eXtract Wizard

#17549 PHP Fatal error: Class 'UDriver' not found in UNITE

Posted in ‘UNiTE and Remote CLI’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
Tool
UNiTE
Tool version
n/a

Latest post by dlb on Friday, 20 September 2013 08:02 CDT

user58223
Mandatory information about my setup:

Have I read the related troubleshooter articles above before posting (which pages?)? Yes
Have I searched the tickets before posting? Yes
Have I read the documentation before posting (which pages?)? Yes
Joomla! version: 2.5.14
PHP version: 5.3.10
MySQL version: 5.5.32
Host: happening in localhost Apple Mac XAMPP distribution and also in iRedHost
Akeeba eXtract Wizard / Remote CLI / SiteDiff version: UNITE 1.2

EXTREMELY IMPORTANT: Please attach a ZIP file containing the Remote Control and Akeeba Backup log files if you are reporting an Akeeba Remote Control issue, othrewise we can not help you. Remember that your attachment must be a ZIP file! Other file formats (including .txt) may be silently rejected by our site.

Description of my issue: I cant finish executing the UNITE process. I get this

$ php unite.php
Akeeba UNITE v.1.0.a1
Copyright (c)2009-2013 Nicholas K. Dionysopoulos

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. The full text of the
license can be found in the LICENSE.TXT file in the installation ZIP package.
===============================================================================
Scanning inbox for XML files...
Parsing inbox/demosite-j25.xml
Found 1 job(s) to run

### Starting job #1 ###
Running validator
PHP Fatal error: Class 'UDriver' not found in /Applications/XAMPP/xamppfiles/htdocs/unite/engine/factory.php on line 84

nicholas
Akeeba Staff
Manager
Hello Javi,

It seems that you have not specified the database driver type ("mysql" or "mysqli") in your XML file.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user58223
Thanks for the fast response. ^_^

I thought the same and I have tried with both options, mysql and mysqli, but no luck.

This is my configuration file (with sensitive information removed):

<?xml version="1.0" encoding="UTF-8"?>
<unite>
<siteInfo>
<package>demosite-j25.zip</package>
<deletePackage>0</deletePackage>
<localLog>demosite-j25.log</localLog>
<emailSysop>0</emailSysop>
<name>Joomla 2.5 testing site</name>
<email>REMOVED</email>
<absolutepath>/home/javier/public_html/testingdemo/j25</absolutepath>
<livesite>http://REMOVED</livesite>
<ftphost>REMOVED</ftphost>
<ftpport>21</ftpport>
<ftpuser>REMOVED</ftpuser>
<ftppass>REMOVED</ftppass>
<ftpdir>/public_html/testingdemo/j25</ftpdir>
<adminID>42</adminID>
<adminUser>REMOVED</adminUser>
<adminPassword>REMOVED</adminPassword>
</siteInfo>
<databaseInfo>
<database name="testingdemoj25">
<changecollation>0</changecollation>
<dbdriver>mysqli</dbdriver>
<dbhost>127.0.0.1</dbhost>
<dbuser>REMOVED</dbuser>
<dbpass>REMOVED</dbpass>
<dbname>testingdemoj25</dbname>
<dbprefix>REMOVED_</dbprefix>
</database>
</databaseInfo>
<postrun>
<emailto>REMOVED</emailto>
<emailsubject>Restoration of j25 site complete</emailsubject>
<emailbody><![CDAT[<br /> Email body<br /> ]]></emailbody>
</postrun>
</unite>


Also I have uploaded twice the UNITE, just to make sure that files were not corrupted, but the error report is the same.

nicholas
Akeeba Staff
Manager
And I just noticed your version of UNiTE, 1.0.a1, a.k.a. "way too old" ;) Can you please upgrade UNiTE? This sounds awfully familiar to an old bug I have fixed a few months ago.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user58223
Hi, thanks for replying even at hours where we shouldn't be working :P

Where did you see that version number?

I'm sure is the latest version. It was downloaded yesterday from the link in your website with 1.2. In my changelog says:

<?php die(); ?>
Version 1.2
--------------------------------------------------------------------------------
~ Updated restore.php
# [HIGH] Remote backup not working
# [HIGH] Stealth did not work
# [MEDIUM] The configuration.php file would not be read correctly for Joomla! 2.5 sites
# [LOW] Wrong count in "Total definitions failed to run"
# [LOW] Fixed some PHP notices


nicholas
Akeeba Staff
Manager
I saw this:

Akeeba UNITE v.1.0.a1

I guess something wasn't updated there. Hm, I believe something's missing from your installation. Can you try downloading and extracting the package again, but this time using an unzipper on your computer instead of LInux' unzip on the server?

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user58223
I just donwloaded now. Unzipped with my MacOS Finder untility and see what is in header of unite.php:

<?php
/**
* UNITE
* The automated site restoration system
* @copyright Copyright (c)2009-2013 Nicholas K. Dionysopoulos
* @license GNU GPL version 3 or, at your option, any later version
* @package unite
* @version $Id$
*
* Usage:
* unite.php [--script &lt;scriptname&gt;]
*/

// Make sure we're being called from the command line, not a web interface
if( array_key_exists('REQUEST_METHOD', $_SERVER) )
{
die('You are not supposed to access this script from the web. You have to run it from the command line. If you don\'t understand what this means, you must not try to use this file before reading the documentation. Thank you.');
}

// Basic defines
define('UNITE', 1);
define('UNITE_VERSION', '1.0.a1');

nicholas
Akeeba Staff
Manager
Hello Javi,

I think I found the problem. Can you please test the latest dev release from https://www.akeebabackup.com/download/developer-releases/unite-dev.html

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user58223
Is not yet working but I think I found something. Look this is the new output:
Akeeba UNITE v.revC061C51 (2013-09-19)
Copyright (c)2009-2013 Akeeba Ltd

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. The full text of the
license can be found in the LICENSE.TXT file in the installation ZIP package.
===============================================================================
Scanning /home/javier/demosites/inbox for XML files...
	Parsing /home/javier/demosites/inbox/demosite-j25.xml
Found 1 job(s) to run

### Starting job #1 ###
	Running validator
PHP Fatal error:  Class 'UDriver' not found in /home/javier/demosites/engine/factory.php on line 89


So the version is now updated but the error seems to be the same. But I have tried to change several things and there is one that changes the results of the operation.

Originally my database name is set as:
<database name="testingdemoj25">

because, as it says in documentation, this is the name in my installation/sql/databases.ini

dbtype = "mysqli"
dbtech = "mysql"
dbname = "testingdemoj25"
sqlfile = "joomla.sql"
...


If I change this name line:
<database name="whatevertext">

I get the same error:
### Starting job #1 ###
	Running validator
PHP Fatal error:  Class 'UDriver' not found in /home/javier/demosites/engine/factory.php on line 89


But if I use this I get a different result:
<database name="joomla">

Akeeba UNITE v.revC061C51 (2013-09-19)
Copyright (c)2009-2013 Akeeba Ltd

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. The full text of the
license can be found in the LICENSE.TXT file in the installation ZIP package.
===============================================================================
Scanning /home/javier/demosites/inbox for XML files...
	Parsing /home/javier/demosites/inbox/demosite-j25.xml
Found 1 job(s) to run

### Starting job #1 ###
	Running validator
Segmentation fault (core dumped)

nicholas
Akeeba Staff
Manager
No. The documentation tells you to use name="joomla" in the database definition.

As for the core dump, it looks like someone needs to recompile his PHP ;)

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user58223
Right! I tested in another server and it worked. Well, I have now another issue, but as you say the original problem seems the PHP in the server. Thanks

$ php unite.php
Akeeba UNITE v.revC061C51 (2013-09-19)
Copyright (c)2009-2013 Akeeba Ltd

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. The full text of the
license can be found in the LICENSE.TXT file in the installation ZIP package.
===============================================================================
Scanning inbox for XML files...
Parsing inbox/demosite-j25.xml
Found 1 job(s) to run

### Starting job #1 ###
Running validator
Running remote
Running stealth
Writing a stealth .htaccess (direct access)
Running extract
Extractor tick
Extractor tick
Running dbrestore
Processing database joomla
Trying to retrieve installation/sql/joomla.sql using direct access
Importing joomla.sql to database...
SQL error dropping #__ak_profiles: SQL=DROP TABLE IF EXISTS `red_ak_profiles`;
### Finished job #1 ###

Running postbanner
===============================================================================
UNITE finished its run cycle
Total definitions found : 1
Total definitions executed successfuly : 0
Total definitions failed to run : 1

dlb
Javier,

Nicholas is attending Joomla! Day Switzerland and will not return until Monday.

The only suggestion I can make on your last post is to make sure your database user has rights to drop a table. Some commercial hosts handle that permission separately from other permissions. You would not notice during normal operations, just during restore.

Dale


Dale L. Brackin
Support Specialist


us.gifEnglish: native


Please keep in mind my timezone and cultural differences when reading my replies. Thank you!


????
My time zone is EST (UTC -5) (click here to see my current time in Philadelphia, PA)

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!