PHP
Как узнать параметры PHP на хостинге через phpinfo и код
Короткий ответ: создайте временный PHP-файл с phpinfo(), откройте его в браузере, посмотрите версию PHP, расширения, путь к настройкам и лимиты, а затем удалите файл. Для точечной проверки можно использовать PHP_VERSION, php_ini_loaded_file() и ini_get()
Параметры PHP важны, когда не работает загрузка файлов, письма, база данных, CMS, Composer или обновление сайта. Часто проблема не в коде, а в лимитах и расширениях хостинга
Быстрая проверка через phpinfo
Создайте в корне сайта файл phpinfo.php
<?php
phpinfo();
Откройте его в браузере
https://example.com/phpinfo.php
На странице будут показаны версия PHP, настройки, подключенные расширения, переменные окружения и много технических деталей. После проверки файл нужно удалить
Почему phpinfo нельзя оставлять на сайте
phpinfo() показывает слишком много информации: пути к файлам, расширения, серверные переменные, иногда фрагменты окружения. Для диагностики это удобно, но для публичного сайта лишнее раскрытие технических данных
Хорошее правило: создали файл, проверили, удалили
Проверка версии PHP
Если нужна только версия, создайте более безопасный файл
<?php
echo PHP_VERSION;
Так вы увидите, какая версия PHP используется именно сайтом в браузере. Это важно, потому что команда php -v в консоли может показывать другую версию
Где лежит php.ini
<?php
echo php_ini_loaded_file() ?: 'php.ini не найден';
На обычном хостинге путь может быть скрыт или не давать вам прямого доступа к файлу. В таком случае настройки меняются через панель хостинга, .user.ini, .htaccess или отдельный интерфейс PHP-настроек
Как посмотреть конкретные лимиты
<?php
echo 'memory_limit: ' . ini_get('memory_limit') . '<br>';
echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . '<br>';
echo 'post_max_size: ' . ini_get('post_max_size') . '<br>';
echo 'max_execution_time: ' . ini_get('max_execution_time') . '<br>';
Эти параметры часто влияют на загрузку файлов, импорт данных, долгие операции и формы
Как проверить расширения PHP
<?php
$extensions = ['pdo_mysql', 'mbstring', 'curl', 'gd', 'intl'];
foreach ($extensions as $extension) {
echo $extension . ': ' . (extension_loaded($extension) ? 'есть' : 'нет') . '<br>';
}
Если CMS или фреймворк требует расширение, которого нет на хостинге, сайт может работать частично или не запускаться совсем
Что смотреть в первую очередь
Для обычного сайта проверьте
- версию PHP
memory_limitupload_max_filesizepost_max_sizemax_execution_timedisplay_errors- подключенные расширения
pdo_mysql,mbstring,curl,gd,intl - путь к
php.ini, если он доступен
Если вы решаете конкретную проблему, смотрите параметр, связанный с симптомом. Например, для загрузки больших файлов важны upload_max_filesize и post_max_size
Мини-практика
Создайте файл php-check.php, выведите версию PHP, путь к php.ini, memory_limit и наличие pdo_mysql. Откройте файл на хостинге, запишите результаты и удалите файл
Частые ошибки
Оставляют phpinfo публично После проверки удалите файл
Проверяют только консольную версию PHP Сайт в браузере может работать на другой версии
Путают upload_max_filesize и post_max_size Для загрузки файла важны оба параметра
Ищут php.ini там, где хостинг не дает прямой доступ На shared-хостинге настройки часто меняются через панель
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Timeweb: как изменить версию PHP на хостинге и проверить сайт
- Как декларировать функцию в PHP: function, параметры и return
- Как на компе открыть файл PHP и почему двойной клик не запускает код
- Как посмотреть PHP-код сайта и почему браузер его не показывает