Здравствуйте! У меня есть вот такая функция PHP:
function add_domain ($login,$domain,$hostname,$ip) {
$newzone = "zone \"$domain\" IN {
type master;
file \"/etc/bind/$domain.conf\";
};".PHP_EOL;
$mysqli = new mysqli ("localhost" , "***", "***","***");
$check = $mysqli->query("SELECT userid FROM *** WHERE domain = '$domain'");
if ($check->num_rows!=0) { echo "Доменное имя $domain, которое Вы пытаетесь добавить, уже есть в системе"; exit;}
else {
$tpl = "@ 300 IN SOA ns1.$hostname. hostmaster.$hostname. 1483099708 300 600 86400 300
@ 600 IN A $ip
@ 300 IN NS ns1.$hostname.
@ 300 IN NS ns2.$hostname.
www 600 IN A $ip";
$path = "/etc/bind/$domain.conf";
echo "Функция работает";
file_put_contents ($path,$tpl) or die ("Ошибка записи файла.");
file_put_contents ("/etc/bind/named.conf" ,$newzone) or die ("Ошибка записи основного конфигурационного файла.");
$add = $mysqli->query("INSERT INTO *** (userid,domain) VALUES ('{$login}' , '{$domain}')");
}
}
И её вызов:
<?php
$login = "admin";
if (isset($_POST['add_domain'])) {
$domain = $_POST['domain'];
$hostname = "***.ru";
$ip = $_SERVER['SERVER_ADDR'];
add_domain ($login,$domain,$hostname,$ip);
}
?>
Вопрос: почему-то эта функция не работает, хотя если сам код вставить (не в виде функции) - всё работает.