-
Notifications
You must be signed in to change notification settings - Fork 0
build: make the package installable, and run the suite that never has #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: dAppCore/mcp
Length of output: 3810
🏁 Script executed:
Repository: dAppCore/mcp
Length of output: 8381
🌐 Web query:
Laravel SQLite driver requires PDO Sqlite composer ext-pdo_sqlite Laravel documentation💡 Result:
Yes, the Laravel SQLite driver requires the PHP
pdo_sqliteextension to be enabled [1][2]. This is a fundamental system-level dependency for PHP applications using SQLite, not a Composer dependency [1][2]. Key points regarding this requirement: 1. System Dependency: Thepdo_sqliteextension is a PHP extension that must be installed and enabled in your system'sphp.iniconfiguration file [1][2]. It is not managed viacomposer.jsonbecause it is a requirement of the PHP environment itself [3][4]. 2. Verification: You can verify if the extension is enabled by runningphp -m | grep sqlitein your terminal [1]. If it is missing, you must install the appropriate PHP SQLite package for your operating system (e.g.,php-sqlite3on Ubuntu/Debian) and ensure theextension=pdo_sqliteline is uncommented in yourphp.inifile [1][2]. 3. Laravel Configuration: Once the PHP extension is enabled, you configure Laravel to use SQLite by updating your.envfile [5][6]. For example: DB_CONNECTION=sqlite DB_DATABASE=/absolute/path/to/database.sqlite [5][7] 4. Error Troubleshooting: If you encounter an "SQLite driver not found" or "PDO exception" error, it confirms that your PHP installation lacks thepdo_sqliteextension [1][2]. Installing the extension and restarting your web server or PHP-FPM service will resolve this [1][2].Citations:
🌐 Web query:
composer.json platforms.ext pdo_sqlite require extension platform package reference💡 Result:
In Composer, ext-pdo_sqlite is a virtual platform package that allows you to specify a dependency on the PHP pdo_sqlite extension [1][2]. To require this extension in your project, add it to the require section of your composer.json file [3][4]: { "require": { "ext-pdo_sqlite": "*" } } Key details regarding platform packages and extensions: 1. Nature of Platform Packages: These are virtual packages representing the environment where Composer is running [1][2]. They do not install actual code [1]. 2. Version Constraints: Because PHP extension versions can be inconsistent or report as 0, it is standard practice to use * as the version constraint when requiring them [2][5]. 3. Importance: Explicitly listing required extensions in composer.json is recommended [4]. If you do not list them, Composer may install your dependencies without error, but your application will fail at runtime if the extension is missing from the production environment [4][6]. 4. Local Development vs. Deployment: If you need to run composer commands on a machine that lacks an extension you have declared as a requirement, you can bypass the check using the --ignore-platform-reqs flag [7][8]. However, this is discouraged for long-term development; it is better to ensure your local environment matches production [9][5]. 5. Platform Configuration: You can use the config field in composer.json to fake or ignore specific platform packages for the purpose of dependency resolution (e.g., {"ext-pdo_sqlite": false} to hide an extension, or specifying a version) [9]. You can view all PHP extensions currently available in your environment by running: composer show --platform
Citations:
🌐 Web query:
Laravel 12 composer.json sqlite tests require ext-pdo_sqlite Laravel documentation💡 Result:
In Laravel 12, the
ext-pdo_sqlitePHP extension is a system-level requirement for utilizing SQLite databases, including during testing if your application or test suite is configured to use the SQLite driver [1][2]. Whilecomposer.jsonfiles for individual packages often listext-pdo_sqliteas a dependency [3][4][5], the core Laravel framework does not strictly require it in the globalcomposer.jsonof a fresh project unless your application explicitly relies on SQLite for its database connection [1][2]. Key points regarding Laravel 12 and SQLite testing: 1. Requirement: If you intend to run tests using an SQLite database (such as the common in-memory:memory:setup used for fast testing), your server or local environment must have thepdo_sqlitePHP extension installed and enabled [6]. This is a requirement of the PHP environment rather than a package listed in the primarycomposer.jsonof the Laravel core framework [1][2]. 2. Configuration: Laravel defaults to SQLite in new installations [2]. If you are using SQLite, ensure your environment variables (e.g.,DB_CONNECTION=sqlite) are set correctly [1]. When running tests, Laravel automatically sets the configuration environment to testing, and you can manage database behavior using traits like RefreshDatabase, which supports SQLite [7][8][9]. 3. Dependency Management: If you are developing a package that specifically requires SQLite functionality for its tests, it is standard practice to includeext-pdo_sqlitein therequireorrequire-devsection of your package'scomposer.jsonto ensure the environment is correctly prepared [6][5]. In summary,ext-pdo_sqliteis a PHP extension requirement for the database driver itself; it is not a Composer package, so it is typically verified via system-level installation rather than being explicitly required in the core Laravelcomposer.json[1][2][6].Citations:
Declare the SQLite driver required by the test configuration.
composer.jsonandphpunit.xmlboth configure SQLite, from in-memory database tests to thephpunit.xmlconnection. Addext-pdo_sqlitetorequire-devso Composer makes the PHP extension a package requirement before tests run.📍 Affects 2 files
composer.json#L48-L55(this comment)phpunit.xml#L41-L42🤖 Prompt for AI Agents