PHP code example of aleksey.nemiro / nginxconf.php
1. Go to this page and download the library: Download aleksey.nemiro/nginxconf.php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aleksey.nemiro / nginxconf.php example snippets
# include the class file (use own path of the file location)
# create instance and load config from file
$conf = new NginxConf('/etc/nginx/sites-available/example.org.conf');
# or
# $conf = NginxConf::CreateFromFile('/etc/nginx/sites-available/example.org.conf');
# get values
var_dump($conf['server']);
if ($conf['server']->ContainsChild('listen'))
{
print_r($conf['server']['listen']->ParametersAsString());
}
var_dump($conf['server']['server_name']->ParametersAsString());
var_dump($conf['server']['root']->ParametersAsString());
var_dump($conf['server']['location']);
# load from file
$conf = NginxConf::CreateFromFile('/etc/nginx/sites-available/example.org.conf');
# set values
$conf['server']['server_name']->Parameters = array('example.org', 'www.example.org');
$conf['server']['root']->Parameters = array('/home/example.org/www');
# create a new directive
$new_location = NginxConf::CreateDirective('location');
# single name directives
$new_location->AddDirective('index', array('Default.aspx', 'default.aspx'));
$new_location->AddDirective('proxy_pass', array('http://127.0.0.1:8080'));
# directives with same name (group)
$proxy_set_header = NginxConf::CreateGroup('proxy_set_header');
$proxy_set_header->AddDirective(array('X-Real-IP', '$remote_addr'));
$proxy_set_header->AddDirective(array('X-Forwarded-For', '$remote_addr'));
$proxy_set_header->AddDirective(array('Host', '$host'));
# add the proxy_set_header to the new location
$proxy_set_header->AddTo($new_location);
# add the new location to the server directive
$new_location->AddTo($conf['server']);
# save
$conf->Save();
# or save as...
# $conf->Save('newFileName.conf');
# load from file
$conf = new NginxConf::CreateFromFile('/etc/nginx/sites-available/example.org.conf');
# set values
$conf['server']['server_name']->Parameters = array('example.org', 'www.example.org');
$conf['server']['root']->Parameters = array('/home/example.org/www');
# create a new directive
$new_location = NginxConf::CreateDirective('location');
# single name directives
$new_location->AddDirective('index', array('Default.aspx', 'default.aspx'));
$new_location->AddDirective('proxy_pass', array('http://127.0.0.1:8080'));
# directives with same name (group)
$proxy_set_header = NginxConf::CreateGroup('proxy_set_header');
$proxy_set_header->AddDirective(array('X-Real-IP', '$remote_addr'));
$proxy_set_header->AddDirective(array('X-Forwarded-For', '$remote_addr'));
$proxy_set_header->AddDirective(array('Host', '$host'));
# add the proxy_set_header to the new location
$proxy_set_header->AddTo($new_location);
# add the new location to the server directive
$new_location->AddTo($conf['server']);
# get as string
$string = $conf->GetAsString();
# show string
var_dump($string);
# create an instance
$conf = new NginxConf();
# create and add server directive
$conf->Add(NginxConf::CreateDirective('server'));
# add directives to server directive
$conf['server']->AddDirective('server_name', array('example.org', 'www.example.org'));
$conf['server']->AddDirective('root', array('/home/example.org/www'));
# create a new location directive
$location = NginxConf::CreateDirective('location');
# add sub-directives
$location->AddDirective('index', array('index.php', 'index.html', 'index.htm'));
# add the location to the server directive
$location->AddTo($conf['server']);
# get as string
$string = $conf->GetAsString();
# show string
var_dump($string);
# or save
# $conf->Save('example.org.conf');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.