Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:creating_file_server_check

Это старая версия документа!


8.4. Файл server_check.php

Подготовка

Файл server_check.php - исполнительный файл, который будет проверять наш веб-сервер, а именно:

  • Версия PHP,
  • Версия Apache http server,
  • Наличие установленной версии системы управления базами данных MySQL,
  • Модули и библиотеки PHP
  • Права на чтение/запись в папки и файлы
  • Отсутствие файла конфигурации

Откроем наш тестовый файл test.php и добавим в него код вывода запросов

test.php
<?php
/* Выводим имя операционной системы сервера */
echo "OС сервера: " .  PHP_OS . '<br/>';
/* Выводим версию веб-сервера Apache */
echo "Веб - сервер: " .  $_SERVER['SERVER_SOFTWARE'] . '<br/>';
 
 
/* Выводим версию установленного PHP */
/* Проверим, что версия установленного PHP не ниже 8.2 */
if (version_compare(PHP_VERSION, '8.2.0') >= 0) {
    echo 'Версия PHP не ниже версии 8.2: ' . PHP_VERSION . " OK" . "\n" . '<br/>';
		/* Иначе выводим просьбу обновить PHP*/
		} else {
			echo "Обновите версию PHP";
		}
/* Проверим включен ли модуль  pgsql Module, cURL Module, GD Library, 
ZipArchive, SimpleXML Module, PDO bz2 zlib sqlite3 zip mysqli*/
$extensions = get_loaded_extensions();
 
if (!in_array('pgsql', $extensions)) {
    exit('Модуль "pgsql" не включен!');
}
else {
    echo 'Текущая версия pgsql: ' . phpversion('pgsql') . '<br/>';
}
if (!in_array('curl', $extensions)) {
/* Так как cURL Module у нас выключен, 
выводиться сообщение о невозможности продолжить,
появляется ссылка кнопка на эту же страницу "Обновить" 
и происходит остановка */
    echo ' Невозможно продолжить. Исправьте ошибки и попробуйте еще раз' . '<a href="./test.php"> Обновить</a>' . '<br/>';
	exit('Модуль "curl" не включен!');
}
else {
    echo 'Текущая версия curl: ' . phpversion('curl') . '<br/>';
}
 
/* Проверим разрешения для папок */
//0600 // Доступ на запись и чтение для владельца, нет доступа для других
//0644 // Доступ на запись и чтение для владельца, доступ на чтение для других
//0750 // Полный доступ для владельца, доступ на чтение и выполнение для группы владельца
//0755 // Полный доступ для владельца, доступ на чтение и выполнение для других
//0777 // Полный доступ для всех
// Установим доступ на запись и чтение для владельца, доступ на чтение 
// для других для директории demo
//chmod("./includes/demo/", 0644);
echo substr(sprintf('%o', fileperms('./includes')), -4) . '<br/>';
echo substr(sprintf('%o', fileperms('./includes/demo')), -4) . '<br/>';
 
 
$dir_demo = substr(sprintf('%o', fileperms('./includes/demo')), -4);
if ($dir_demo == '0755') {
    echo 'Директория /demo доступна для записи' . '<br/>';
} else {
    echo 'Директория /demo  недоступна для записи' . '<br/>';
}
$dir_includes = substr(sprintf('%o', fileperms('./includes')), -4);
if ($dir_includes == '0775') {
    echo 'Директория /includes доступна для записи';
} else {
    echo 'Директория /includes  недоступна для записи';
}
?>

curl для проверки выключен для наглядности примера

Если curl был включен, то система выдала бы «Текущая версия curl: и версию»

Далее при проверке Модуля curl происходит остановка проверки.

При влюченном Модуле curl система проходит код до конца нашего файла Откроем файл test.php в веб - браузере

Файл server_check.php

Перенесем наш рабочий код в ранее созданный файл server_check.php

server_check.php
 
Только авторизованные участники могут оставлять комментарии.
software/development/demo/cms/ucms/creating_file_server_check.1745777512.txt.gz · Последнее изменение: vladpolskiy