Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Server Check

Server Check Laravel Package

craftcms/server-check

Command-line and web-based server requirements checker for Craft CMS 4. Run via curl|bash on Unix-like systems or upload the server/ folder to get HTML or plain-text reports. Supports strict mode and CI/Docker-friendly exit codes.

View on GitHub
Deep Wiki
Context7

Craft CMS server requirements checker.

Frequently asked questions about Server Check
Can I use Craft CMS Server Check for Laravel projects that integrate Craft CMS plugins or hybrid architectures?
Yes, it’s designed for Craft CMS but works well in Laravel projects using Craft plugins. The tool checks PHP, extensions (e.g., gd, intl), and database requirements that Craft CMS needs, which often overlap with Laravel’s own needs. You can subclass the `RequirementsChecker` class to add Laravel-specific validations like `.env` or `laravel-debugbar` dependencies.
How do I install Craft CMS Server Check in a Laravel project?
Add it as a dev dependency via Composer: `composer require craftcms/server-check`. For CLI use, run the one-liner: `curl -Lsf https://raw.githubusercontent.com/craftcms/server-check/HEAD/check.sh | bash`. For web reports, upload the `server/` folder to your Laravel project’s root and access `checkit.php` via a browser.
Will this work with Laravel 10 and PHP 8.2+?
Yes, Craft CMS Server Check supports PHP 8.2+, which aligns with Laravel 10’s minimum version. It’s actively maintained and tested with Craft CMS 4, so it won’t conflict with Laravel’s core. However, ensure your Laravel project meets Craft CMS’s specific requirements (e.g., PHP extensions like `intl` or `gd`).
Can I integrate this into Laravel’s Artisan CLI for automated checks?
Absolutely. Wrap the `check.sh` script or `checkit.php` in a custom Artisan command (e.g., `php artisan server:check`). This lets you trigger checks during deployment, CI/CD pipelines, or local development. Example: Create a command in `app/Console/Commands/ServerCheckCommand.php` that executes the script and handles exit codes.
Does this tool support CI/CD pipelines, like GitHub Actions or Docker builds?
Yes, it’s CI/CD-friendly. Use the `CRAFT_STRICT_SERVER_CHECK=1` environment variable to fail builds on warnings. In Docker, add the check to your `Dockerfile` (e.g., `RUN curl -Lsf ... | bash`) to validate requirements before runtime. Exit codes (`0` for pass, `1` for fail) integrate seamlessly with CI tools.
How do I extend this for Laravel-specific checks, like queue drivers or cache backends?
Extend the `RequirementsChecker` class to add Laravel-specific validations. For example, check for required PHP extensions (e.g., `fileinfo`, `mbstring`) or validate `.env` configurations like `QUEUE_CONNECTION`. Override methods like `checkRequirements()` or add custom checks in a subclass. The package’s modular design makes this straightforward.
Will running this in production cause performance issues or conflicts?
No, it’s non-intrusive and designed for pre-deployment checks. Run it in CI/CD or staging, not production. For Laravel, use it during `bootstrap/app.php` or a custom Artisan command before the app loads. Avoid running it in production unless debugging, as it’s not optimized for runtime performance.
Are there alternatives to this package for Laravel-only server checks?
For pure Laravel projects, consider `php artisan optimize` or `laravel-debugbar` for basic checks, but they lack Craft CMS’s strict server validations. Tools like `roave/security-advisories` or `phpstan/extension-installer` focus on PHP security/extensions but don’t cover Craft CMS’s database or system requirements. This package is ideal if you need Craft CMS compatibility.
How do I handle false positives or edge cases, like MariaDB version parsing?
Tune the checks by subclassing `RequirementsChecker` or modifying the `check.sh` script. For example, adjust database version parsing logic to handle MariaDB’s format. Test with your specific environment (e.g., `php -m` for extensions) and log warnings for edge cases. The package’s documentation and GitHub issues provide examples for common adjustments.
Can I cache results or parallelize checks to speed up CI/CD pipelines?
Yes, cache results in CI by storing outputs (e.g., `server-check-report.txt`) and skipping redundant runs. For parallel checks, combine with Laravel’s `parallel:testing` or use tools like `GNU parallel` to run multiple checks concurrently. Avoid caching in strict mode (`CRAFT_STRICT_SERVER_CHECK=1`), as it requires real-time validation.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views