[SOLVED ] Unable to Install C5 -v7.5.9 - Authentication type with handle concrete already exists

Permalink
Guys, on a localhost box with openSuse 13.2 box with Apache 2.4 and php 5.4, I am unable to install concrete5, Version 5.7.5.9

I get error message;

Authentication type with handle concrete already exists!.

#0 /srv/www/vhosts/websitetest/concrete/src/Package/StartingPointPackage.php(309): Concrete\Core\Authentication\AuthenticationType::add('concrete', 'Standard')
#1 [internal function]: Concrete\Core\Package\StartingPointPackage->add_users()
#2 /srv/www/vhosts/websitetest/concrete/controllers/install.php(294): call_user_func(Array) #3 [internal function]: Concrete\Controller\Install->run_routine('elemental_full', 'add_users')
#4 /srv/www/vhosts/websitetest/concrete/src/Controller/AbstractController.php(161): call_user_func_array(Array, Array)
#5 /srv/www/vhosts/websitetest/concrete/src/Routing/ControllerRouteCallback.php(27): Concrete\Core\Controller\AbstractController->runAction('run_routine', Array)
#6 /srv/www/vhosts/websitetest/concrete/src/Routing/Router.php(142): Concrete\Core\Routing\ControllerRouteCallback->execute(Object(Concrete\Core\Http\Request), Object(Concrete\Core\Routing\Route), Array)
#7 /srv/www/vhosts/websitetest/concrete/src/Support/Facade/Facade.php(119): Concrete\Core\Routing\Router->execute(Object(Concrete\Core\Routing\Route), Array)
#8 /srv/www/vhosts/websitetest/concrete/src/Application/Application.php(446): Concrete\Core\Support\Facade\Facade::__callStatic('execute', Array)
#9 /srv/www/vhosts/websitetest/concrete/src/Application/Application.php(446): Concrete\Core\Support\Facade\Route::execute(Object(Concrete\Core\Routing\Route), Array)
#10 /srv/www/vhosts/websitetest/concrete/bootstrap/start.php(230): Concrete\Core\Application\Application->dispatch(Object(Concrete\Core\Http\Request)) #11 /srv/www/vhosts/websitetest/concrete/dispatcher.php(36): require('/srv/www/vhosts...') #12 /srv/www/vhosts/websitetest/index.php(2): require('/srv/www/vhosts...') #13 {main}

Any hints ?

View Replies: View Best Answer
ob7dev replied on at Permalink Reply
ob7dev
Not that its of any help to you, but the requirements page may be of some help:
https://www.concrete5.org/documentation/background/system_requiremen...

That and if I recall correctly, theres some PHP modules that might not be listed there that I've had to enable before. Since concrete5 uses symfony and doctrine, making sure you've got everything needed to run those items standalone is worth checking out:
http://symfony.com/doc/current/reference/requirements.html...
meswaramarco replied on at Permalink Reply
Thanks ... my workaround ...i installed concrete5.6.3.4.... lame huh..but worked straight out of the box ...
meswaramarco replied on at Permalink Reply
@ob7dev - looking at your suggestions ...
meswaramarco replied on at Permalink Reply
@ob7dev,

System Requirements - ALL Satisfied

PHP 5.3.3 or greater (PHP 5.6+ recommended)
= yes, php 5.4.20

PHP Modules: CURL, zip, mcrypt, openssl, GD (with freetype), mysql, mbstring, iconv (iconv needed for Zend Locale)
= yes, curl, zip, mcrypt, openssl, gd ( but i dont know if it comes with freetype ), mysql, mbstring, iconv

PHP settings (primarily for file uploads) post_max_upload_filesize = 20, post_max_size = 20, php memory limit to 96 (More may be needed for memory intensive operations, such as upgrading.)
PHP Safe Mode Off
= yes, all there

MySQL 5.1.5 or higher.
= yes, mariadb-5.5.46-13.1.x86_64

MySQL Innodb table support.
= yes, tables created as type InnoDB

Apache/IIS (Apache recommended)
= yes, apache2-2.4.6-6.53.1.x86_64
meswaramarco replied on at Permalink Reply
@ob7dev,

Symfony Requirements:

Required :

JSON needs to be enabled
= yes, php5-json-5.4.20-67.1.x86_64
ctype needs to be enabled
= yes, php5-ctype-5.4.20-67.1.x86_64

Your php.ini needs to have the date.timezone setting
= yes, date.timezone uncommented and set

Under optional :

Additionally, i also have pdo, xml ( writer , reader but NOT xmlrpc )

Any other hints ?
meswaramarco replied on at Permalink Reply
Any hints about;

Authentication type with handle concrete already exists!.

#0 /srv/www/vhosts/websitetest/concrete/src/Package/StartingPointPackage.php(309):
Concrete\Core\Authentication\AuthenticationType::add('concrete', 'Standard')
#1 [internal function]: Concrete\Core\Package\StartingPointPackage->add_users()
#2 /srv/www/vhosts/websitetest/concrete/controllers/install.php(294): call_user_func(Array) #3
[internal function]: Concrete\Controller\Install->run_routine('elemental_full', 'add_users')
ob7dev replied on at Permalink Reply
ob7dev
Are you trying to do a fresh install from downloading the most recent package, and giving it a fresh database to install into?
meswaramarco replied on at Permalink Reply
Yes, fresh download, fresh database ...
HMcCarthy replied on at Permalink Reply
HMcCarthy
This might be too simple of an answer, but I couldn't get it to install using the latest version. I had to install 5.7.3 and then once I had that up and running update to the latest version through the settings in C5.

https://www.concrete5.org/download...
meswaramarco replied on at Permalink Reply
Hmmmm.. good idea ....
meswaramarco replied on at Permalink Reply
Finished a simple website with c5 v 6.3.4.

And now trying c5 v7 , specifically , Version 5.7.4.2 ... but the same error message appears....

Authentication type with handle concrete already exists!.


Trace message excerpt

Trace:
#0 /srv/www/vhosts/websitenutphq/concrete/src/Package/StartingPointPackage.php(295): Concrete\Core\Authentication\AuthenticationType::add('concrete', 'Standard')



And source code there is ;

public function add_users()
    {
        // Firstly, install the core authentication types
        $cba = AuthenticationType::add('concrete', 'Standard');
        $coa = AuthenticationType::add('community', 'concrete5.org');
        $fba = AuthenticationType::add('facebook', 'Facebook');
        $twa = AuthenticationType::add('twitter', 'Twitter');
        $gat = AuthenticationType::add('google', 'Google');
meswaramarco replied on at Permalink Reply
Tried with Version 5.7.3.1

... but the same error message appears....

Authentication type with handle concrete already exists!.
meswaramarco replied on at Permalink Reply
Issue seems to be here ...

public static function add($atHandle, $atName, $order = 0, $pkg = false)
    {
        $die = true;
        try {
            AuthenticationType::getByHandle($atHandle);
        } catch (exception $e) {
            $die = false;
        }
        if ($die) {
            throw new Exception(t('Authentication type with handle %s already exists!', $atHandle));
        }
meswaramarco replied on at Permalink Reply
It seems odd that i can install c5 v6 and not c5 v7...

One difference in v7 is the new table "AuthenticationTypes" ...
meswaramarco replied on at Permalink Reply
Tried with Version 5.7.2.1

SAME PROBLEM AS WELL....
meswaramarco replied on at Permalink Reply
Same problem with Version 5.7.0 as well ...

Hmmm...

Any ideas anybody ?
jordif replied on at Permalink Reply
jordif
Hi,

I think this error will only occur if you already have some information (in this case, a record that corresponds to the concrete authentication type) in your database.

Are you sure that this is an empty database with no old tables in it?

I'd suggest creating a new database (with a different name) and trying to install again from scratch.

Jordi
meswaramarco replied on at Permalink Reply
@jordif,

Thanks for replying.

Yes, empty databse and also with different names each time ...

If i had any tables in the database, there would be an error "'There are already %s tables in this database. concrete5 must be installed in an empty database"

Lets try different apache vhost folder names ...yes ..i am that desperate and am grasping at straws....
meswaramarco replied on at Permalink Reply
hmmm ... fails again ...

Adding admin user and then ...

Authentication type with handle concrete already exists!.
jordif replied on at Permalink Reply
jordif
hi,

it's weird. I've installed concrete 5.7 several times before and never encountered this issue. are you using some sort of cache engine on your server?

You may want to post this as an issue on github, they'll probably be interested in examining this:

https://github.com/concrete5/concrete5/issues...

(obviously something else you could try is changing your local server setup. I've been using Ubuntu, Apache and PHP 5.5.9 with no issues)

Jordi
meswaramarco replied on at Permalink Reply
@jordif ...


i think the issue is the installation script...Its inserting the "concrete" , "Standard" values into table AuthenticationType ( this table doesnt exist in v6 - thats why i never had the problem ) but doesnt seem to account for that.

Similar posts in the forum for "Authentication type with handle concrete already exists!"
- the users just seem to select php 5.4 which is what i am running.

Do you know where in the code these initial authentication values are created / table is created... There must be some incorrect sql statement somewhere due to some incompatibility issue with php 5.4 affecting this new table AuthenticationTypes
meswaramarco replied on at Permalink Reply
GitHub ..No ...They seemed to be focused on v8 beta


But i just filed a bug report at;

https://www.concrete5.org/developers/bugs/5-7-5-9/authentication-typ...
meswaramarco replied on at Permalink Best Answer Reply
Dear All, the issue is SOLVED.

My initial php version is 5.4.20 ( which satisfies the minimum Concrete5 requirement for v7 of php 5.3.3+ ).

Have some applications running on 5.4.20 and did not want to risk complications in them.

I tried upgrading to 5.4.45 and the same error "Authentication type with handle concrete already exists" appeared again.

So, bit the bullet and installed 5.5.38 ...AND THE INSTALLATION OF V7 completed 100%.

So looks like php 5.5+ is needed to install v7 and not the stated bare minimum of 5.3.3 ?

User @jordif will hopefully get back on what php versions he was running when completed his v7 installations. It would be good to know if there were any php 5.4 boxes that were successfully installed into.

Thanks to everybody that helped.
meswaramarco replied on at Permalink Reply
@jordif - just wondering , the installations that you made with v7, could you check on the php5 versions ? It will be good to know...

Thanks.
jordif replied on at Permalink Reply
jordif
Hi!

All my installations were on PHP 5.5.9 or greater, so it might be an issue with PHP 5.4.


Jordi
meswaramarco replied on at Permalink Reply
Thanks Buddy.