Restore a server transfer locally

Hi!

For test purposes I want to install a server locally on a WAMP server.

What I did until now:

  • Transferred all the files from the host webserver
  • Export / import of the DB
  • Changed two paths in ‘gibbonsettings’ (Base URL and absolutePath)
  • Modified the config.php to align with the new DB settings
  • Comment out two lines on the .httpaccess (Order Allow,Deny, Deny from all)

Still, I get following error when trying to log in:
PHP Fatal error: Uncaught InvalidArgumentException: Gateway delete method for gibbonSession must provide a primary key value. in E:\Wampserver122023\www\sis-mirror\src\Domain\Traits\TableAware.php:283

Complete php_error.log:

-
--- on 2025-02-19 15:28
[19-Feb-2025 15:28:35 UTC] PHP Warning:  SessionHandler::read(): open(/var/cpanel/php/sessions/ea-php82\sess_3f5hmct06eccn9dmfrpmc5l5v3, O_RDWR) failed: No such file or directory (2) in E:\Wampserver122023\www\sis-mirror\src\Session\NativeSessionHandler.php on line 76
[19-Feb-2025 15:28:35 UTC] PHP Stack trace:
[19-Feb-2025 15:28:35 UTC] PHP   1. {main}() E:\Wampserver122023\www\sis-mirror\index.php:0
[19-Feb-2025 15:28:35 UTC] PHP   2. require_once() E:\Wampserver122023\www\sis-mirror\index.php:37
[19-Feb-2025 15:28:35 UTC] PHP   3. Gibbon\Core->initializeCore($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\gibbon.php:95
[19-Feb-2025 15:28:35 UTC] PHP   4. League\Container\Container->get($id = 'session', $new = *uninitialized*) E:\Wampserver122023\www\sis-mirror\src\Gibbon\Core.php:88
[19-Feb-2025 15:28:35 UTC] PHP   5. League\Container\Container->get($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:178
[19-Feb-2025 15:28:35 UTC] PHP   6. League\Container\Definition\DefinitionAggregate->resolve($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:157
[19-Feb-2025 15:28:35 UTC] PHP   7. League\Container\Definition\Definition->resolve($new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\DefinitionAggregate.php:94
[19-Feb-2025 15:28:35 UTC] PHP   8. League\Container\Definition\Definition->resolveCallable($concrete = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:198
[19-Feb-2025 15:28:35 UTC] PHP   9. call_user_func_array:{E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239}($callback = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }, $args = []) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:35 UTC] PHP  10. Gibbon\Services\CoreServiceProvider->Gibbon\Services\{closure:E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:129-131}() E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:35 UTC] PHP  11. Gibbon\Session\SessionFactory::create($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:130
[19-Feb-2025 15:28:35 UTC] PHP  12. session_start($options = ['name' => 'Gcd8cca114e585e4c', 'cookie_samesite' => 'Lax', 'cookie_httponly' => TRUE, 'cookie_secure' => FALSE]) E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 15:28:35 UTC] PHP  13. Gibbon\Session\NativeSessionHandler->read($id = '3f5hmct06eccn9dmfrpmc5l5v3') E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 15:28:35 UTC] PHP  14. SessionHandler->read($id = '3f5hmct06eccn9dmfrpmc5l5v3') E:\Wampserver122023\www\sis-mirror\src\Session\NativeSessionHandler.php:76
[19-Feb-2025 15:28:35 UTC] PHP Warning:  session_start(): Failed to read session data: user (path: /var/cpanel/php/sessions/ea-php82) in E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php on line 80
[19-Feb-2025 15:28:35 UTC] PHP Stack trace:
[19-Feb-2025 15:28:35 UTC] PHP   1. {main}() E:\Wampserver122023\www\sis-mirror\index.php:0
[19-Feb-2025 15:28:35 UTC] PHP   2. require_once() E:\Wampserver122023\www\sis-mirror\index.php:37
[19-Feb-2025 15:28:35 UTC] PHP   3. Gibbon\Core->initializeCore($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\gibbon.php:95
[19-Feb-2025 15:28:35 UTC] PHP   4. League\Container\Container->get($id = 'session', $new = *uninitialized*) E:\Wampserver122023\www\sis-mirror\src\Gibbon\Core.php:88
[19-Feb-2025 15:28:35 UTC] PHP   5. League\Container\Container->get($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:178
[19-Feb-2025 15:28:35 UTC] PHP   6. League\Container\Definition\DefinitionAggregate->resolve($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:157
[19-Feb-2025 15:28:35 UTC] PHP   7. League\Container\Definition\Definition->resolve($new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\DefinitionAggregate.php:94
[19-Feb-2025 15:28:35 UTC] PHP   8. League\Container\Definition\Definition->resolveCallable($concrete = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:198
[19-Feb-2025 15:28:35 UTC] PHP   9. call_user_func_array:{E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239}($callback = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }, $args = []) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:35 UTC] PHP  10. Gibbon\Services\CoreServiceProvider->Gibbon\Services\{closure:E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:129-131}() E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:35 UTC] PHP  11. Gibbon\Session\SessionFactory::create($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:130
[19-Feb-2025 15:28:35 UTC] PHP  12. session_start($options = ['name' => 'Gcd8cca114e585e4c', 'cookie_samesite' => 'Lax', 'cookie_httponly' => TRUE, 'cookie_secure' => FALSE]) E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 15:28:39 UTC] PHP Warning:  SessionHandler::read(): open(/var/cpanel/php/sessions/ea-php82\sess_3f5hmct06eccn9dmfrpmc5l5v3, O_RDWR) failed: No such file or directory (2) in E:\Wampserver122023\www\sis-mirror\src\Session\NativeSessionHandler.php on line 76
[19-Feb-2025 15:28:39 UTC] PHP Stack trace:
[19-Feb-2025 15:28:39 UTC] PHP   1. {main}() E:\Wampserver122023\www\sis-mirror\login.php:0
[19-Feb-2025 15:28:39 UTC] PHP   2. require_once() E:\Wampserver122023\www\sis-mirror\login.php:37
[19-Feb-2025 15:28:39 UTC] PHP   3. Gibbon\Core->initializeCore($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\gibbon.php:95
[19-Feb-2025 15:28:39 UTC] PHP   4. League\Container\Container->get($id = 'session', $new = *uninitialized*) E:\Wampserver122023\www\sis-mirror\src\Gibbon\Core.php:88
[19-Feb-2025 15:28:39 UTC] PHP   5. League\Container\Container->get($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:178
[19-Feb-2025 15:28:39 UTC] PHP   6. League\Container\Definition\DefinitionAggregate->resolve($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:157
[19-Feb-2025 15:28:39 UTC] PHP   7. League\Container\Definition\Definition->resolve($new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\DefinitionAggregate.php:94
[19-Feb-2025 15:28:39 UTC] PHP   8. League\Container\Definition\Definition->resolveCallable($concrete = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:198
[19-Feb-2025 15:28:39 UTC] PHP   9. call_user_func_array:{E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239}($callback = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }, $args = []) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:39 UTC] PHP  10. Gibbon\Services\CoreServiceProvider->Gibbon\Services\{closure:E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:129-131}() E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:39 UTC] PHP  11. Gibbon\Session\SessionFactory::create($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:130
[19-Feb-2025 15:28:39 UTC] PHP  12. session_start($options = ['name' => 'Gcd8cca114e585e4c', 'cookie_samesite' => 'Lax', 'cookie_httponly' => TRUE, 'cookie_secure' => FALSE]) E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 15:28:39 UTC] PHP  13. Gibbon\Session\NativeSessionHandler->read($id = '3f5hmct06eccn9dmfrpmc5l5v3') E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 15:28:39 UTC] PHP  14. SessionHandler->read($id = '3f5hmct06eccn9dmfrpmc5l5v3') E:\Wampserver122023\www\sis-mirror\src\Session\NativeSessionHandler.php:76
[19-Feb-2025 15:28:39 UTC] PHP Warning:  session_start(): Failed to read session data: user (path: /var/cpanel/php/sessions/ea-php82) in E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php on line 80
[19-Feb-2025 15:28:39 UTC] PHP Stack trace:
[19-Feb-2025 15:28:39 UTC] PHP   1. {main}() E:\Wampserver122023\www\sis-mirror\login.php:0
[19-Feb-2025 15:28:39 UTC] PHP   2. require_once() E:\Wampserver122023\www\sis-mirror\login.php:37
[19-Feb-2025 15:28:39 UTC] PHP   3. Gibbon\Core->initializeCore($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\gibbon.php:95
[19-Feb-2025 15:28:39 UTC] PHP   4. League\Container\Container->get($id = 'session', $new = *uninitialized*) E:\Wampserver122023\www\sis-mirror\src\Gibbon\Core.php:88
[19-Feb-2025 15:28:39 UTC] PHP   5. League\Container\Container->get($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:178
[19-Feb-2025 15:28:39 UTC] PHP   6. League\Container\Definition\DefinitionAggregate->resolve($id = 'session', $new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Container.php:157
[19-Feb-2025 15:28:39 UTC] PHP   7. League\Container\Definition\Definition->resolve($new = FALSE) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\DefinitionAggregate.php:94
[19-Feb-2025 15:28:39 UTC] PHP   8. League\Container\Definition\Definition->resolveCallable($concrete = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:198
[19-Feb-2025 15:28:39 UTC] PHP   9. call_user_func_array:{E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239}($callback = class Closure { public $this = class Gibbon\Services\CoreServiceProvider { protected $provides = [...]; protected $identifier = NULL; protected $container = class League\Container\Container { ... }; protected $leagueContainer = class League\Container\Container { ... }; protected $absolutePath = 'E:\\Wampserver122023\\www\\sis-mirror' } }, $args = []) E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:39 UTC] PHP  10. Gibbon\Services\CoreServiceProvider->Gibbon\Services\{closure:E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:129-131}() E:\Wampserver122023\www\sis-mirror\vendor\league\container\src\Definition\Definition.php:239
[19-Feb-2025 15:28:39 UTC] PHP  11. Gibbon\Session\SessionFactory::create($container = class League\Container\Container { protected $defaultToShared = FALSE; protected $definitions = class League\Container\Definition\DefinitionAggregate { protected $definitions = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $providers = class League\Container\ServiceProvider\ServiceProviderAggregate { protected $providers = [...]; protected $registered = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $inflectors = class League\Container\Inflector\InflectorAggregate { protected $inflectors = [...]; protected $container = ...; protected $leagueContainer = ... }; protected $delegates = [0 => class League\Container\ReflectionContainer { ... }] }) E:\Wampserver122023\www\sis-mirror\src\Services\CoreServiceProvider.php:130
[19-Feb-2025 15:28:39 UTC] PHP  12. session_start($options = ['name' => 'Gcd8cca114e585e4c', 'cookie_samesite' => 'Lax', 'cookie_httponly' => TRUE, 'cookie_secure' => FALSE]) E:\Wampserver122023\www\sis-mirror\src\Session\SessionFactory.php:80
[19-Feb-2025 12:28:39 America/Fortaleza] PHP Fatal error:  Uncaught InvalidArgumentException: Gateway delete method for gibbonSession must provide a primary key value. in E:\Wampserver122023\www\sis-mirror\src\Domain\Traits\TableAware.php:283
Stack trace:
#0 E:\Wampserver122023\www\sis-mirror\src\Auth\Adapter\AuthenticationAdapter.php(334): Gibbon\Domain\System\SessionGateway->delete('')
#1 E:\Wampserver122023\www\sis-mirror\src\Auth\Adapter\AuthenticationAdapter.php(174): Gibbon\Auth\Adapter\AuthenticationAdapter->updateUserData(Array)
#2 E:\Wampserver122023\www\sis-mirror\src\Auth\Adapter\DefaultAdapter.php(75): Gibbon\Auth\Adapter\AuthenticationAdapter->verifyLogin(Array)
#3 E:\Wampserver122023\www\sis-mirror\vendor\aura\auth\src\Service\LoginService.php(73): Gibbon\Auth\Adapter\DefaultAdapter->login(Array)
#4 E:\Wampserver122023\www\sis-mirror\login.php(109): Aura\Auth\Service\LoginService->login(Object(Aura\Auth\Auth), Array)
#5 {main}
  thrown in E:\Wampserver122023\www\sis-mirror\src\Domain\Traits\TableAware.php on line 283

Any suggestions about that?

I found this post Installation error but as I’m on a local environment, I am not using cpanel.
The local server should have enough access rights to get to the /var/cpanel/php/sessions/ea-php82 directory.

I was able to get it to run on a local environment by installing a new instance of Gibbon and importing only the database from the live site.

I’m still baffled why the first attempt, copying all the files from the host to local and importing the DB didn’t work.

Regarding the .htaccess, there is an incompatibility with using Apache 2.4 or later.

Order allow,deny
Allow from all

Should be changed to

Require all granted

If the access_compat_module isn’t loaded, which can be checked with a2query -m [module].