Добавить в корзинуПозвонить
Найти в Дзене
Про Хостинги

Лайфхак для AdminVPS: сайт поставили, а он не работает? Проверьте не только версию PHP, но и модули

Бывает очень странная ситуация. Вы ставите сайт на хостинг или VPS, подключаете домен, загружаете файлы, импортируете базу, прописываете настройки - а сайт не работает. Или работает наполовину. Главная открывается, а админка выдает ошибку. Плагин не устанавливается. Форма не отправляет письма. Интернет-магазин не загружает изображения. Импорт товаров зависает. CMS пишет, что не хватает какого-то расширения. А иногда вместо нормальной страницы появляется обычная ошибка 500. На первый взгляд кажется, что проблема в сайте, шаблоне, плагине или разработчике. Но на AdminVPS, особенно если сайт работает через ISPmanager, причина часто оказывается проще: выбрана не та версия PHP или не включены нужные компоненты PHP. И это как раз тот случай, когда сайт можно “починить” не переписыванием кода, а несколькими настройками в панели. У каждого сайта есть свои требования. WordPress, OpenCart, Bitrix, CS-Cart, Joomla, Laravel-проекты, старые самописные сайты - все они могут требовать разные версии P
Оглавление

Бывает очень странная ситуация. Вы ставите сайт на хостинг или VPS, подключаете домен, загружаете файлы, импортируете базу, прописываете настройки - а сайт не работает.

Или работает наполовину.

Главная открывается, а админка выдает ошибку. Плагин не устанавливается. Форма не отправляет письма. Интернет-магазин не загружает изображения. Импорт товаров зависает. CMS пишет, что не хватает какого-то расширения. А иногда вместо нормальной страницы появляется обычная ошибка 500.

На первый взгляд кажется, что проблема в сайте, шаблоне, плагине или разработчике. Но на AdminVPS, особенно если сайт работает через ISPmanager, причина часто оказывается проще: выбрана не та версия PHP или не включены нужные компоненты PHP.

И это как раз тот случай, когда сайт можно “починить” не переписыванием кода, а несколькими настройками в панели.

Проблема: сайт есть, но среда под него не готова

У каждого сайта есть свои требования. WordPress, OpenCart, Bitrix, CS-Cart, Joomla, Laravel-проекты, старые самописные сайты - все они могут требовать разные версии PHP и разные расширения.

Одному сайту нужен PHP 7.4, другому уже лучше PHP 8.1 или 8.2. Один плагин требует ionCube, другой - mbstring, третий - curl, четвертый - zip, gd или intl. Если нужного модуля нет, сайт может вести себя непредсказуемо.

AdminVPS в своей базе знаний по установке популярных CMS прямо указывает две типовые причины проблем: несоответствие версии PHP и отсутствие необходимых PHP-модулей. В качестве решения предлагается повысить версию PHP или включить модули в текущей версии PHP.

Вот почему иногда сайт “сломался” не из-за сайта. Просто серверная среда не соответствует тому, что ожидает CMS или плагин.

Как это выглядит на практике

Например, вы переносите сайт на WordPress. Файлы на месте, база подключена, домен открывается. Но один плагин не запускается, форма обратной связи не отправляет письма, а в админке появляется ошибка.

Или вы ставите OpenCart, а установщик ругается на настройки сервера. Или интернет-магазин не может загрузить архив, обработать изображение, выполнить импорт или подключиться к внешнему сервису.

В таких случаях многие начинают искать проблему не там:

  • переустанавливают CMS;
  • отключают все плагины;
  • перезаливают файлы;
  • меняют тему;
  • ищут вирусы;
  • пишут разработчику;
  • думают, что “хостинг плохой”.

А иногда достаточно открыть настройки PHP и включить нужные расширения.

Лайфхак: сначала проверьте PHP, потом ломайте голову

Если сайт на AdminVPS не работает после установки или переноса, не начинайте сразу с радикальных действий. Сначала проверьте три вещи.

Первая - какая версия PHP включена для домена.

В ISPmanager настройки версии PHP находятся в параметрах www-домена. AdminVPS в инструкции по смене версии PHP пишет, что в панели можно использовать общую версию PHP для всех доменов, а также настраивать поддержку PHP для конкретного www-домена.

Вторая - какой режим PHP используется.

Иногда в панели можно выбрать вариант работы PHP, например как модуль Apache или через другой обработчик. В инструкциях AdminVPS для некоторых CMS встречается рекомендация выбрать нужную версию PHP и нажать “Как модуль Apache”.

Третья - включены ли нужные модули PHP.

Вот здесь и прячется самая частая ловушка. Версия PHP может быть правильной, но необходимых компонентов не хватает. Сайт вроде бы запускается, но отдельные функции не работают.

Какие компоненты PHP часто нужны сайтам

Для разных CMS набор может отличаться, но чаще всего проблемы бывают вокруг таких расширений:

  • curl - нужен для внешних запросов, API, платежных систем, интеграций, обновлений;
  • mbstring - нужен для корректной работы со строками и кодировками;
  • mysqli или pdo_mysql - нужны для подключения к базе данных MySQL/MariaDB;
  • gd или imagick - нужны для обработки изображений, миниатюр, загрузки фото;
  • zip - нужен для распаковки архивов, установки плагинов, импорта и экспорта;
  • intl - часто нужен современным CMS, фреймворкам и интернет-магазинам;
  • xml, dom, simplexml - нужны для обработки XML, фидов, карт сайта, интеграций;
  • json - нужен практически всем современным сайтам и API;
  • soap - может потребоваться для старых интеграций, 1С и некоторых сервисов;
  • fileinfo - часто нужен для проверки типов файлов;
  • opcache - не всегда обязателен, но помогает ускорить PHP-сайт.

Отдельная история - ionCube. Некоторые коммерческие CMS, модули или плагины используют зашифрованные PHP-файлы. Для них нужен загрузчик ionCube. AdminVPS отдельно описывает установку IonCube и поясняет, что это расширение PHP для загрузки зашифрованных PHP-файлов.

Почему иногда модуля нет в панели

Вот тут начинается самая интересная часть.

Иногда нужный модуль можно просто включить в ISPmanager. Нашли версию PHP, открыли настройки, поставили галочку, применили - сайт заработал.

Но бывает иначе: нужного компонента в списке нет. Или он недоступен для конкретной версии PHP. Или его нет в штатных репозиториях текущей операционной системы. Или он установлен для одной версии PHP, а сайт работает на другой.

В такой ситуации не нужно бесконечно искать несуществующую галочку. Лучше написать в поддержку AdminVPS и конкретно указать, какой модуль нужен, для какой версии PHP и для какого сайта.

В регламенте администрирования AdminVPS есть пункт про установку и смену версий дополнительных модулей PHP и MySQL, доступных в репозиториях, если нужная версия доступна для вашей ОС в штатном репозитории. Там же отдельно указана установка IonCube и Zend Guard Loader для зашифрованных скриптов.

То есть если нужного компонента нет в панели, это не всегда тупик. Иногда его можно добавить через поддержку.

Как правильно написать в поддержку

Чтобы не получить ответ в стиле “уточните детали”, лучше сразу написать по делу.

Например:

“Здравствуйте. Сайт example.ru работает на PHP 8.1 в ISPmanager. CMS/плагин требует расширение intl. В списке модулей PHP я его не вижу. Проверьте, пожалуйста, можно ли установить или включить intl для PHP 8.1 на этом сервере.”

Или:

“Здравствуйте. После переноса сайта плагин выдает ошибку, что не найден ionCube Loader. Сайт работает на PHP 7.4. Подскажите, пожалуйста, можно ли установить ionCube для этой версии PHP.”

Такой запрос понятнее, чем “сайт не работает, помогите”. Поддержке не нужно угадывать, что именно вы хотите включить.

Мини-чек-лист после установки сайта на AdminVPS

После переноса или установки сайта полезно пройти короткую проверку.

Открывается ли главная страница?

Открывается ли админка?

Какая версия PHP включена для домена?

Совместима ли эта версия с CMS и плагинами?

Включены ли curl, mbstring, zip, gd или imagick, intl, xml, mysqli/pdo_mysql?

Не нужен ли сайту ionCube?

Работает ли загрузка изображений?

Работает ли установка и обновление плагинов?

Отправляются ли письма с сайта?

Не появляются ли ошибки 500?

Не ругается ли CMS на недостающие расширения?

Если сайт показывает ошибку 500, это тоже не всегда означает “все сломалось”. AdminVPS отдельно разбирает ошибки 500, 502, 503, 504 и указывает, что причины могут быть связаны с PHP-скриптами, веб-сервером, длительными задачами и лимитами.

Частый пример: сайт работает, но медленно

Отдельно стоит сказать про OPcache. Это расширение не обязательно для запуска сайта, но может заметно помочь с производительностью PHP-проектов.

У AdminVPS есть материал про OPcache, где объясняется, что его включают и настраивают на VPS, чтобы ускорить PHP-сайт и снизить нагрузку на сервер.

Поэтому если сайт не просто падает, а работает медленно, стоит проверить не только тариф и оптимизацию картинок, но и PHP-настройки. Иногда включение OPcache дает хороший эффект без переделки сайта.

Главная мысль

Когда сайт на AdminVPS не работает после установки, не спешите обвинять CMS, шаблон или разработчика.

Очень часто проблема находится на уровне серверной среды:

  • не та версия PHP;
  • не тот режим работы PHP;
  • не включен нужный модуль;
  • модуль есть, но не для той версии PHP;

нужного расширения нет в панели, и его нужно запросить через поддержку.

Это нормальная ситуация для сайтов на PHP. Сервер должен быть настроен под конкретный проект, а не просто “включен”.

Лайфхак простой: если сайт поставили, а он не работает, сначала проверьте PHP.

На AdminVPS через ISPmanager можно менять версию PHP и включать нужные модули. Если компонента нет в списке, не стоит гадать - лучше сразу написать в поддержку и попросить установить или подключить нужное расширение для конкретной версии PHP.

Иногда сайт чинится не сложной разработкой, а одной включенной галочкой.

И это как раз тот случай, когда хороший хостинг и нормальная поддержка экономят не только время, но и нервы.