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
Только авторизованные участники могут оставлять комментарии.
software/development/demo/cms/ucms/creating_file_server_check.1745777512.txt.gz · Последнее изменение: — vladpolskiy