# htaccess-validator-php **Repository Path**: mirrors_liquidweb/htaccess-validator-php ## Basic Information - **Project Name**: htaccess-validator-php - **Description**: Composer package to leverage the htaccess-validator from within PHP applications - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-24 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Htaccess Validator (Composer Package) This is a Composer package wrapper for [Liquid Web's Htaccess Validator script](https://github.com/liquidweb/htaccess-validator), enabling PHP applications to easily validate Htaccess files. ## Installation The easiest way to install the package is via [Composer](https://getcomposer.org): ``` $ 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](https://www.liquidweb.com/kb/install-apache-2-ubuntu-18-04/). ## Usage There are two main ways to use the validator: 1. As a stand-alone tool via the command line 2. 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: ```sh $ 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](https://github.com/liquidweb/htaccess-validator/blob/develop/bin/validate-htaccess#L15). ### 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: 1. Passing the full system path of the file under validation to the class constructor: ```php use LiquidWeb\HtaccessValidator\Validator; $validator = new Validator($file); ``` 2. Passing the configuration directly to the `::createFromString()` factory method: ```php use LiquidWeb\HtaccessValidator\Validator; $validator = Validator::createFromString('Options +FollowSymLinks'); ``` Once you have a Validator instance, you may validate it in two ways: ```php # 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: ```php # 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(); ```