Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | php.ini [2024/08/21 11:10] (текущий) – [Описание директив PHP] darkfire | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Настройка файла php.ini для высоконагруженных сайтов ====== | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Базовая настройка PHP. php.ini — это конфигурационный файл, содержащий настройки интерпретатора PHP.) | ||
+ | }} | ||
+ | |||
+ | **php.ini** - конфигурационный файл интерпретатора [[PHP|PHP]]. Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса [[fastcgi|php-fpm]]. Эти сервисы отличаются своими возможностями, | ||
+ | ===== Где находится файл php.ini ===== | ||
+ | {{ :: | ||
+ | Расположение файла php.ini в разных операционных системах и разных [[paneli_upravlenija_xostingom|панелей управления хостингом]] отличается. Ini файлов может быть много, под каждую версию PHP - отдельный php.ini. Чтобы узнать какой php.ini загружен для вашего сайта, нужно узнать чему равен параметр " | ||
+ | <file bash> | ||
+ | php -i | grep php.ini | ||
+ | Configuration File (php.ini) Path => / | ||
+ | Loaded Configuration File => / | ||
+ | </ | ||
+ | Давайте разберем поиск php.ini на сложном примере [[ioncube|установки модуля IonCube]], при условии установленных разных версий интерпретатора PHP на вашем VPS. | ||
+ | |||
+ | ===== Задать базовые настройки php.ini для PHP 8.1 и выше ===== | ||
+ | После [[https:// | ||
+ | |||
+ | Для моего сайта php.ini расположен по пути / | ||
+ | |||
+ | И так какие базовые настройки нужно менять сразу в php.ini для высоконагруженных сайтов. Эти базовые настройки помогут вам оптимизировать работу PHP 8.3 на вашем сервере и обеспечить стабильную работу приложений. | ||
+ | <file bash> | ||
+ | ; | ||
+ | date.timezone = Europe/Kyiv | ||
+ | memory_limit = 512M | ||
+ | upload_max_filesize = 80M | ||
+ | post_max_size = 80M | ||
+ | max_execution_time = 300 | ||
+ | ; | ||
+ | opcache.enable = 1 | ||
+ | </ | ||
+ | После изменения, | ||
+ | <file bash> | ||
+ | systemctl reload php8.1-fpm.service | ||
+ | </ | ||
+ | |||
+ | Изучите также статьи - это будет полезно для понимания сделанных изменений в php.ini: | ||
+ | * [[ulimit]] | ||
+ | * [[cheklist_nastrojka_vps_vds_vydelennogo_servera_linux]] | ||
+ | |||
+ | ===== Описание директив PHP ===== | ||
+ | |||
+ | Пример получения значение параметра из php.ini при помощи PHP кода: | ||
+ | <file php> | ||
+ | <?php echo ini_get(' | ||
+ | </ | ||
+ | |||
+ | * register_long_arrays Off - сообщает PHP, следует ли регистрировать устаревшие длинные предопределенные переменные типа $HTTP_*_VARS. Если вы их не используете, | ||
+ | * [[out> | ||
+ | * opcache.enable = 1 — включает кэширование байт-кода, | ||
+ | * [[https:// | ||
+ | * memory_limit - максимальный объем памяти, | ||
+ | * date.timezone указывает часовой пояс для вашего сайта: [[https:// | ||
+ | * upload_max_filesize - максимальный размер загружаемого файла на сервер. | ||
+ | * post_max_size - максимальный размер данных, | ||
+ | |||
+ | **Ограничение по ресурсам (изменить время выполнения скрипта)**: | ||
+ | * **max_execution_time** - устанавливается максимальное возможное время выполнения скрипта в секундах. Большинство хостинговых компаний устанавливают **максимальное время выполнения от 30 до 60 секунд**. Этот диапазон дает вашим PHP-скриптам достаточно времени для выполнения своей работы, | ||
+ | * max_input_time - Максимально возможное время в секундах, | ||
+ | * memory_limit - Максимальный объем памяти, | ||
+ | ====== Распространённые ошибки PHP ====== | ||
+ | |||
+ | |||
+ | ===== Fatal error: Allowed memory size of ===== | ||
+ | Fatal error: Allowed memory size of 54554432 bytes exhausted (tried to allocate ....." | ||
+ | |||
+ | Эта ошибка означает, | ||
+ | |||
+ | **Решение: | ||
+ | * Попробовать самостоятельно изменить это значение, | ||
+ | <?php ini_set(" | ||
+ | </ | ||
+ | * Положить в корень сайта файл .htaccess следующего содержания:< | ||
+ | </ | ||
+ | * Некоторые хостеры поддерживают работу php.ini у клиента, | ||
+ | memory_limit = 32M | ||
+ | </ | ||
+ | * Если это не помогло — обратитесь к администратору хостинга и попросите увеличить количество доступной памяти для PHP. | ||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга