Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17417 программистов и 1872 робота. Сейчас ищут 1769 программистов ...

Apache

Вернуться к: Available Containers

Parses and saves Apache configuration files. No options are provided by this container.

Writing an apache configuration file

This example script will create a new apache configuration file for a virtual host. It first adds a Listen directive and then a virtual host section containing its settings.

<?php
require_once 'Config.php';

$conf = new Config();
$root $conf->getRoot();

$root->createDirective('Listen''82');
$root->createBlank();

$root->createComment('My virtual host');
$vhost $root->createSection('VirtualHost', array('127.0.0.1:82'));
$vhost->createDirective('DocumentRoot''/usr/share/www');
$vhost->createDirective('ServerName''my-pear.example.org');

$conf->writeConfig(sys_get_temp_dir() . '/dummy-apache.conf''apache');
?>

Generated configuration file

# My virtual host <VirtualHost 127.0.0.1:82>   DocumentRoot /usr/share/www   ServerName my-pear.example.org </VirtualHost>

Reading an existing config file

Our task is to open an existing Apache configuration file and extract all Listen directives from it, using the container's getItem method.

Config file

# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz  NameVirtualHost *:80 Listen 80 Listen 82  <IfModule mod_ssl.c>     # If you add NameVirtualHost *:443 here, you will also have to change     # the VirtualHost statement in /etc/apache2/sites-available/default-ssl     # to <VirtualHost *:443>     # Server Name Indication for SSL named virtual hosts is currently not     # supported by MSIE on Windows XP.     Listen 443 </IfModule>  <IfModule mod_gnutls.c>     Listen 443 </IfModule>

PHP script

<?php
require_once 'Config.php';

$file dirname(__FILE__) . '/apache-read-config.txt';

$conf = new Config();
$root $conf->parseConfig($file'apache');
if (
PEAR::isError($root)) {
    echo 
'Error reading config: ' $root->getMessage() . "\n";
    exit(
1);
}

$i 0;
while (
$item $root->getItem('directive''Listen'nullnull$i++)) {
    echo 
$item->name ': ' $item->content "\n";
}

?>


Вернуться к: Available Containers

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware