liquidweb / htaccess-validator
Lint and validate Apache2 Htaccess files
Installs: 49 541
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 12
Forks: 0
Open Issues: 1
Requires
- php: ^5.6||^7.0||^8.0
- liquidweb/htaccess-validator-shell: ^0.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-09 06:55:28 UTC
README
This is a Composer package wrapper for Liquid Web's Htaccess Validator script, enabling PHP applications to easily validate Htaccess files.
Installation
The easiest way to install the package is via Composer:
$ composer require liquidweb/htaccess-validator
As the package uses Apache2 itself to validate, it must be available within your environment. The Liquid Web Knowledge Base has instructions for installing Apache on most popular platforms.
Usage
There are two main ways to use the validator:
- As a stand-alone tool via the command line
- As a PHP library (requires
proc_open
to be available)
Validating Apache2 configurations from the command line interface (CLI)
The bin/validate-htaccess
script accepts a configuration file for validation:
$ bin/validate-htaccess /path/to/some/file.conf
The script will return a non-zero exit code if validation errors were detected. Individual codes are documented in the script's header.
Validating Apache2 configurations within a PHP script
The LiquidWeb\HtaccessValidator\Validator
class serves as a wrapper around the bin/validate-htaccess
script, enabling applications to validate Apache2 configurations programmatically.
There are two ways to instantiate the class:
-
Passing the full system path of the file under validation to the class constructor:
use LiquidWeb\HtaccessValidator\Validator; $validator = new Validator($file);
-
Passing the configuration directly to the
::createFromString()
factory method:use LiquidWeb\HtaccessValidator\Validator; $validator = Validator::createFromString('Options +FollowSymLinks');
Once you have a Validator instance, you may validate it in two ways:
# Throws a LiquidWeb\HtaccessValidator\Exceptions\ValidationException upon failure. $validator->validate(); # Return a boolean. $validator->isValid();
Modifying the path to the validator shell script
By default, the library assumes that the validate-htaccess
shell script lives in vendor/bin/
.
If you're using a non-standard Composer configuration, you can explicitly specify the path by setting the HTACCESS_VALIDATOR_SCRIPT
environment variable, either in your environment configuration or inline:
# Absolute system path to the shell script. putenv('HTACCESS_VALIDATOR_SCRIPT=/some/path/to/vendor/bin/htaccess-validator'); # Will now use the Htaccess Validator script specified above. $validator = (new Validator($file))->validate();