79188365

Date: 2024-11-14 10:38:54
Score: 0.5
Natty:
Report link

Facing this problem when running database migration with :

I can't downgrade/upgrade my doctrine/dbal version due to a conflict with carbon-doctrine-types (which comes from laravel/framework requiring nesbot/carbon requiring carbonphp/carbon-doctrine-types).

Apparently, the ::connect method signature changed from Laravel 8 to Laravel 9, which I though was causing the error :

Complete composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "24slides/laravel-saml2": "^2.0",
        "barryvdh/laravel-dompdf": "^3.0.0",
        "doctrine/dbal": "4.2.1",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^9.0",
        "laravel/helpers": "^1.6",
        "laravel/tinker": "^2.0",
        "laravel/ui": "^3.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "^9.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeders",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/",
            "OneLogin\\Saml2\\": "repositories/onelogin/php-saml/src/Saml2/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true,
        "allow-plugins": {
            "kylekatarnls/update-helper": true,
            "symfony/thanks": true
        }
    }
}

Complete error when running php artisan migrate :

   INFO  Running migrations.  

  2024_07_18_110456_delete_some_column PHP Fatal error:  Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params, $username = null, $password = null, array $driverOptions = []) must be compatible with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection in C:\Users\g64882.ZEPRODBUR\Desktop\ykq\vendor\laravel\framework\src\Illuminate\Database\PDO\Concerns\ConnectsToDatabase.php on line 22
[2024-11-14 10:10:54] ${ENVIRONMENT}.ERROR: Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params, $username = null, $password = null, array $driverOptions = []) must be compatible with 
Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Declaration of Illuminate\\Database\\PDO\\Concerns\\ConnectsToDatabase::connect(array $params, $username = null, $password = null, array $driverOptions = []) must be compatible with Doctrine\\DBAL\\Driver::connect(array $params): Doctrine\\DBAL\\Driver\\Connection at C:\\Users\\g64882.ZEPRODBUR\\Desktop\\ykq\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\PDO\\Concerns\\ConnectsToDatabase.php:22)
[stacktrace]
#0 {main}
"} 

In ConnectsToDatabase.php line 22:

  Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params, $username = nul  
  l, $password = null, array $driverOptions = []) must be compatible with Doctrine\DBAL\Driver::connect(arra  
  y $params): Doctrine\DBAL\Driver\Connection

I downgraded to Laravel 8, but still has the error (and it's even more weird now that the 2 methods with the same signature seems incompatible ?)

Complete composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "24slides/laravel-saml2": "^2.0",
        "barryvdh/laravel-dompdf": "^2.2.0",
        "doctrine/dbal": "4.2.1",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^8.0",
        "laravel/helpers": "^1.6",
        "laravel/tinker": "^2.0",
        "laravel/ui": "^3.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "^9.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeders",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/",
            "OneLogin\\Saml2\\": "repositories/onelogin/php-saml/src/Saml2/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true,
        "allow-plugins": {
            "kylekatarnls/update-helper": true,
            "symfony/thanks": true
        }
    }
}

Complete error when running php artisan migrate :

Migrating: 2024_07_18_110456_delete_some_column
PHP Fatal error:  Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection in C:\Users\g64882.ZEPRODBUR\Desktop\ykq\vendor\laravel\framework\src\Illuminate\Database\PDO\Concerns\ConnectsToDatabase.php on line 19
[2024-11-14 10:28:57] ${ENVIRONMENT}.ERROR: Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Declaration of Illuminate\\Database\\PDO\\Concerns\\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\\DBAL\\Driver::connect(array $params): Doctrine\\DBAL\\Driver\\Connection at C:\\Users\\g64882.ZEPRODBUR\\Desktop\\ykq\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\PDO\\Concerns\\ConnectsToDatabase.php:19)
[stacktrace]
#0 {main}
"} 

In ConnectsToDatabase.php line 19:

  Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compati  
  ble with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection
Reasons:
  • Blacklisted phrase (0.5): thanks
  • Long answer (-1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: Gugustinette