Требования — это то, на чём скрипт либо встаёт, либо сыпется Fatal Error на первом же файле. «Хостинг с PHP» без версии и расширений не считается. На shared часто в панели красуется PHP 7.4 по умолчанию, а вы уже льёте релиз под 8.1 — потом удивляетесь белому экрану.
Ниже минимум, с которым мы ставим продукты Microscript. Конкретный архив может требовать чуть больше (например, intl или zip) — смотрите readme в комплекте. Но базу из этого списка игнорировать нельзя.
Версия PHP
Нужен PHP 8.x. Не 5.6 «потому что на старом Денвере работало». Не 7.0 без поддержки. Рабочие ветки, с которыми живём: 8.1–8.3. Если хостер предлагает только 7.4 и «скоро обновим» — либо меняйте тариф/хостинг, либо берите VDS, где версию ставите сами.
Проверка на сервере:
php -v
php -m
В панели Beget/Timeweb/ISPmanager обычно есть селектор версии для домена. Выставили 8.2 для сайта — убедитесь, что CLI для cron тоже 8.2, а не системный 7.x из /usr/bin/php. Иначе веб живой, а крон-задачи падают на синтаксисе.
Локально MicroServer уже с PHP 8. Альтернатива старого Денвера описана отдельно: Денвер PHP 8.
Расширения
Без этого установщик или админка отвалятся некрасиво:
mysqli— основное подключение к MySQL/MariaDB. PDO иногда есть рядом, но наши скрипты опираются на mysqli.mbstring— строки, поиск, письма. Без него часть функций режет кириллицу.json— почти всегда собран в ядро, но на кастомных сборках проверяйте.gdилиimagick— превью, ресайз загрузок. На shared чаще gd.curl— внешние API, платежи, вебхуки.openssl— HTTPS-запросы наружу, часть авторизаций.
Реже, но встречается: zip, xml, intl, fileinfo. Если в логе Call to undefined function ... — смотрите имя функции и доставляйте модуль, а не «переустанавливайте скрипт».
В php.ini ещё смотрите лимиты:
upload_max_filesizeиpost_max_size— иначе фото в объявлении не влезет.memory_limit— 128M часто мало на тяжёлых импортах; 256M спокойнее.max_execution_time— долгие операции в админке.
MySQL / MariaDB
Подойдёт MySQL 5.7+/8.x или MariaDB 10.3+. Кодировка базы и таблиц — utf8mb4. Если создали базу в latin1 «потому что так панель предложила» — потом будете чинить дампы и кракозябры.
Пользователь БД должен уметь SELECT/INSERT/UPDATE/DELETE/CREATE/ALTER/INDEX на своей базе. На установке скрипт поднимает таблицы — без CREATE не взлетит. На shared панель обычно выдаёт нужный набор галочками.
Хост подключения:
- локально —
127.0.0.1(иногдаlocalhostидёт через сокет — оба варианта ок, если служба слушает); - на shared — значение из карточки БД, не всегда localhost;
- снаружи VDS MySQL лучше не открывать — см. firewall.
Права на файлы и каталоги
Веб-пользователь (www-data, apache, nobody — как у хостера) должен писать в upload, cache, tmp и похожие каталоги из комплекта. Каталоги 755, файлы 644 — базовая норма. Подробный разбор: chmod для скрипта.
Конфиг с паролем БД держите вне лишнего доступа. Если скрипт кладёт конфиг в публичный корень — не выставляйте world-writable.
Веб-сервер
Apache с mod_rewrite или Nginx + PHP-FPM. На Nginx правила из .htaccess сами не подхватятся — их надо перенести в конфиг сервера. Каркас: Nginx + PHP-FPM.
Для ЧПУ и админки нужен работающий rewrite. Если открывается только главная, а внутренние URL дают 404 — проблема чаще в rewrite, чем в «сломанном PHP».
Cron и почта
Многим продуктам нужен cron: очереди, снятие VIP, очистка. На shared смотрите, есть ли cron в тарифе и какой путь к php-cli. Мануал: cron-задачи.
Почта: mail() на shared то работает, то уходит в спам. Для боевого — SMTP. Это не «требование PHP», но без почты формы регистрации выглядят мёртвыми.
Быстрый чеклист перед заливкой
- PHP 8.x на домене и в CLI.
php -mпоказывает mysqli, mbstring, gd/imagick, curl.- Пустая база utf8mb4, пользователь привязан.
- Document root смотрит в корень скрипта.
- Каталоги загрузок writable.
Если база не коннектится уже на установке — ошибка подключения MySQL. Общий порядок заливки — установка скрипта. Сомневаетесь в тарифе — какой хостинг брать.
Как снять phpinfo безопасно
Файл info.php с <?php phpinfo();, открыли, сверили, удалили. Не называйте его очевидно надолго. На VDS можно смотреть модули через CLI без веб-файла — предпочтительнее.
Разница PHP веб и CLI
В панели для сайта выбран 8.2, а php -v по SSH показывает 7.4. Веб-установка пройдёт, cron на CLI — нет. Укажите полный путь к php82 в cron: cron. На локалке Windows та же история с несколькими php.exe: Composer, MicroServer.
short_open_tag и устаревшие опции
Современные скрипты не должны требовать short_open_tag. Если где-то в старых кастомах встретите — лучше переписать теги, чем включать короткие на всём сервере. magic_quotes давно нет — гайды, где их «настраивают», выкидывайте.
Таймауты и сессии
Кроме memory_limit смотрите session.gc_maxlifetime, если жалобы на быстрый разлогин. Это не всегда «баг скрипта». На балансерах с несколькими нодами без sticky session тоже будут чудеса — для одного VDS не актуально.
Чеклист для хостера / админа
Можно переслать списком:
- PHP 8.1+ для домена;
- mysqli, mbstring, curl, gd, openssl, json;
- MySQL/MariaDB, возможность создать БД utf8mb4;
- возможность cron с CLI той же версии PHP;
- запись в каталоги upload/cache;
- лимит upload не ниже 16–32M для фото.
Если на всё «нет» — другой тариф или VDS / root. Сравнение: хостинг.
Связанные поломки
Не коннектится БД: ошибка MySQL. 500 после установки: ошибка 500. Права: chmod. Установка: установка. Локальная замена Денвера: Денвер PHP 8. Боевой веб на Nginx: Nginx + PHP-FPM.
Частые вопросы
Требования php mysql для скрипта?
Перед установкой сверьте PHP 8, mysqli и права на запись. Иначе установщик остановится на первом шаге.
Сколько времени занимает «Требования PHP и MySQL для скрипта»?
Ориентир по тексту мануала — около 5 мин. На практике зависит от хостинга и подготовки базы.
Нужен ли отдельный сервер?
Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.
Установка готового скрипта php mysql?
Разбор рядом в мануале по этому запросу. установка готового скрипта php mysql
Ошибка подключения к базе при установке скрипта?
Разбор рядом в мануале по этому запросу. ошибка подключения к базе при установке скрипта