Настройка файла php.ini в Linux

Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.

Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей установка lamp в Ubuntu 16.04.

Расположение и синтаксис php.ini

Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:

Папка conf.d содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать.

Более интересны следующие три папки — apache, cli и fpm. В них содержатся конфигурационные файлы php.ini для каждого из этих интерпретаторов.

Если вы собираетесь использовать несколько из этих интерпретаторов, то вам придется указывать настройки для каждого из них отдельно. Вы можете убедиться, что в каждой из папок лежит файл php.ini.

Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini  файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:

имя_настройки=значение_параметра

Символами [] обозначается имя секции, например, [PHP], а символ ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.

Настройка файла php.ini

Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:

Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.

Вывод ошибок в php

Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:

Замените off на on.

В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак ~. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:

Включите запись ошибок php в лог файл, если не выводите их на экран:

Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:

Ограничения ресурсов

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

По умолчанию максимальное время выполнения скрипта — 30 секунд, сделаем минуту:

Если указать 0, то скрипт может выполняться бесконечно. Вы также можете ограничить время, на протяжении которого скрипт будет загружать данные, 60 секунд:

Максимальное количество переменных в GET и POST:

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

Максимальный размер данных, передаваемых в POST запросе тоже ограничивается, размер по умолчанию — 8 Мегабайт:

Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:

С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:

Директории по умолчанию

Файл настройки php.ini позволяет указать пути в файловой системе по умолчанию для различных действий. Вы можете задать папки где система будет искать скрипты, если вы попытаетесь подключить их с помощью инструкции include:

Папка с модулями php:

Папка для записи временных файлов:

Загрузка файлов

Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:

Максимальный размер загружаемого файла:

Максимальное количество файлов, которые может загрузить один скрипт:

max_file_uploads = 20

Настройка php.ini практически завершена, нам остались лишь расширения.

Настройка расширений

Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.

Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:

Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so.

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

Выводы

В этой статье мы рассмотрели как выполняется настройка php на сервере или обычном компьютере для разработки веб-сайтов. Файл настроек php имеет довольно простую структуру и с ним довольно не сложно справиться. После завершения всех настроек и сохранения изменений не забудьте перезагрузить веб-сервер или сервис php-fpm.

Вообще говоря, php-fpm это отдельная тема, потому что там есть много дополнительных настроек, и, возможно, мы рассмотрим его в одной из следующих статей. Если у вас остались вопросы, спрашивайте в комментариях!

Источник: losst.ru

0

Как изменить параметры PHP | REG.RU

Как установить PHP на хостинг

Поддержка PHP присутствует на всех тарифных планах Hosting Linux, кроме Host-Lite. Если у вас Host-Lite, чтобы включить поддержку PHP, повысьте тарифный план.

Как изменить параметры PHP

Для каждой версии PHP можно установить свои параметры. Инструкция для изменения параметров PHP подходит, только если у вас есть услуга хостинга Linux. Вы можете попробовать бесплатный хостинг для сайтов HTML с поддержкой PHP и MySQL в течение 14 дней тестового периода.

Чтобы изменить настройки PHP, нужно установить на файл php.ini права 600 (rw——-) или 644 (rw-r—r—) и затем внести в него изменения.

Чтобы установить права и внести изменения, следуйте инструкции для вашей хостинг-панели:

ISPmanager

cPanel

Plesk

  1. 1.

    Войдите в панель управления хостингом.

  2. 2.

    Выполнение этого шага зависит от пути, по которому хранятся настройки PHP. Подробнее в статье Где находятся настройки версий PHP в ISPmanager.

    • Если вы храните настройки PHP отдельно для каждого домена по пути /var/www/php-bin/имя-домена/php.ini, перейдите в раздел

      Менеджер файлов и откройте каталог /var/www/php-bin/имя-домена/. Выберите файл php.ini, наведите курсор на Редактировать и нажмите Атрибуты:

      Измените права файла на 600 или 644 и кликните Ok:

    • Если вы используете общую версию PHP и храните настройки для всех доменов по пути /var/www/php-bin-php(номер-версии-PHP)/php.ini, перейдите в раздел Менеджер файлов и откройте каталог /var/www/php-bin-php(номер-версии-PHP)/. Выберите файл php.ini, наведите курсор на Редактировать

      и нажмите Атрибуты:

      Измените права файла на 600 или 644 и кликните Ok:

  3. org/HowToStep»> 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.

  1. 1.

    Войдите в панель управления хостингом.

  2. 2.

    В разделе «Файлы» нажмите Менеджер файлов. Перейдите в каталог php-bin/имя-домена. Измените права файла php.ini на 0600 или 0644. Нажмите Save:

  3. org/HowToStep»> 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

  1. 1.

    Войдите в панель управления хостингом.

  2. 2.

    В разделе «Файлы» перейдите в каталог etc/имя-домена. Измените права файла php.ini: в строке «Владелец» поставьте чекбоксы Чтение и Запись, в строках «Группа» и «Остальные» поставьте чекбокс Чтение. Нажмите Применить:

  3. 3.

    Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.

  4. 4.

    Сохраните изменения и закройте файл.

Готово, изменения вступят в силу в течение минуты.

Примеры изменений настроек PHP

Основные директивы для настройки файла php.ini описаны в статье Настройка файла php.ini.

Как увеличить memory_limit (лимит памяти)

Чтобы предотвратить ситуацию, когда скрипт с плохим синтаксисом занимает всю доступную память сервера, нужно настроить директиву memory_limit. Она задаёт максимально допустимый объём памяти в байтах, который разрешается использовать скрипту. Некоторые CMS и плагины требуют установки определённого значения memory_limit.

Пример:

memory_limit= 512M

Обратите внимание: на виртуальном хостинге есть технические ограничения на максимальный размер оперативной памяти на один процесс. Ограничения для каждого тарифа приведены на странице Технические характеристики хостинга.

Если данного порога вам не хватает, вы можете:

  • повысить тариф хостинга с увеличением памяти: Как повысить тарифный план хостинга,
  • перейти на VPS-хостинг и самостоятельно сконфигурировать сервер с необходимыми настройками: Как перейти с виртуального хостинга на VPS-хостинг.

Как увеличить max_execution_time

Чтобы предотвратить торможение сервера из-за скриптов с плохим синтаксисом, нужно настроить директиву max_execution_time. Она задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если скрипт не загружается, анализатор синтаксиса завершает работу скрипта.

Пример:

max_execution_time = 60

Как увеличить upload_max_filesize (максимальный размер закачиваемого файла)

С помощью директивы upload_max_filesize вы можете увеличить максимальный размер закачиваемого файла. На виртуальном хостинге можно загружать файлы размером до 256 МБ.

Пример:

upload_max_filesize = 256M

Если вам требуется загрузить файл размером более 256 МБ:

  • загрузите файл через протокол FTP или через панель управления хостингом,
  • перейдите на VPS-хостинг и самостоятельно сконфигурируйте сервер с необходимым значением загружаемого файла: Как перейти с виртуального хостинга на VPS-хостинг.

Как изменить max_input_vars

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

Пример:

max_input_vars = 5000

Подробнее читайте в статье Как исправить ошибку PHP Max Input Vars Limit в WordPress.

Как удалить настройку mbstring.func_overload

При обновлении Bitrix можно столкнуться с проблемой: «Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга».

Решить эту проблему можно удалением параметра mbstring.func_overload. Как это сделать читайте в статье Как удалить настройку PHP mbstring.func_overload.

Как исправить ошибку PHP mbstring.internal_encoding

В версиях Bitrix версии 20.100.0 и ниже может возникнуть ошибка, которая связана с неправильными настройками параметров mbstring.func_overload и mbstring.internal_encoding.

Как решить эту проблему читайте в статье Ошибка PHP mbstring.internal_encoding.

Как включить обработку PHP в HTML

На хостинге Linux

В некоторых случаях вид строк может отличаться от указанных в примере. Чтобы корректно добавить строки, мы рекомендуем обратиться в техническую поддержку.

ISPmanager

cPanel

Plesk

  1. 1.

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

  2. 2.

    Создайте файл с названием .htaccess или откройте его, если файл уже существует.

    • Если вы храните настройки PHP отдельно для каждого домена по пути /var/www/php-bin/имя-домена/php.ini, добавьте в файл следующие строки:
    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .php
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .phtml
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .html
    FCGIWrapper /var/www/php-bin/u1234567/domain.ru/php .htm

    Где:

    domain.ru — доменное имя вашего сайта;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

    • Если вы используете общую версию PHP и храните настройки для всех доменов по пути /var/www/php-bin-php(номер-версии-PHP)/, добавьте в файл следующие строки:
    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .php
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .phtml
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .html
    FCGIWrapper /var/www/php-bin-php73/u1234567/php .htm

    Где:

    php73 — ваша версия PHP. Узнать её можно по инструкции;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

  1. 1.

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

  2. 2.

    Создайте файл с названием .htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .php
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .phtml
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .html
    FCGIWrapper /var/www/u1234567/php-bin/domain.ru/php .htm

    Где:

    domain.ru — доменное имя вашего сайта;

    u1234567 — логин вашего хостинга. Узнать его можно по инструкции.

Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».

  1. 1.

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

  2. 2.

    Создайте файл с названием . htaccess или откройте его, если файл уже существует. Добавьте в файл следующие строки:

    AddHandler fcgid-script .php .phtml .html .htm
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .php
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .phtml
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .html
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .htm

    Если данное решение не работает, добавьте другие строки:

    AddType application/x-httpd-php .php
    AddHandler php-script .html

Готово, вы включили обработку PHP в HTML.

На хостинге Windows

Обратите внимание

Заказ Windows-хостинга больше недоступен. Стоимость продления для действующих пользователей остается прежней.

Перейдите в корневую папку сайта. Создайте файл с названием web.config или откройте его, если файл уже существует. Добавьте в файл следующие строки:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system. web>
        <identity impersonate="false" />
    </system.web>
    <system.webServer>
        <handlers>
            <add name="PHP_via_FastCG1" path="*.htm" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php-cgi.exe" resourceType="Either" />
            <add name="PHP_via_FastCG2" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php-cgi.exe" resourceType="Either" />
        </handlers>
    </system.webServer>
</configuration>

Готово, вы включили обработку PHP в HTML.

Помогла ли вам статья?

Да

раз уже
помогла

Файл php.ini: Редактирование конфигураций PHP на облачном сервере с Linux

Конфигурации PHP можно изменить с помощью файла «php.ini» . Php.ini — это основной файл конфигурации для языка сценариев с открытым исходным кодом PHP.

Содержание

  1. Требования
  2. Просмотр конфигурации PHP сервера
  3. Как найти файл php.ini
  4. Как редактировать файл php.ini

Требования0023

  1. Облачный сервер с Linux (любой дистрибутив)

Просмотр конфигураций PHP сервера

Чтобы просмотреть текущие конфигурации PHP для вашего сервера, создайте файл с именем phpinfo.php в главном каталоге вашего веб-сайта:

 sudo nano /var/www/html phpinfo.php 

Затем поместите в этот файл следующее содержимое:

  

Сохраните и выйдите из файла, затем просмотрите его в браузере («

пример .com/phpinfo.php»

).

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

Как найти файл php.ini

При запуске PHP будет выполнять поиск файла php.ini в нескольких возможных местах на сервере. Расположение по умолчанию для файла php.ini:

  • Ubuntu 16.04: /etc/php/7.0/apache2
  • CentOS 7: /etc/php.ini
новый php.ini , содержащий только те конфигурации PHP, которые необходимо изменить, и поместите его в тот же каталог, что и скрипт PHP. Это переопределит конфигурации в файле php.ini по умолчанию.

Однако это будет эффективно только для скриптов в том же каталоге, что и файл php.ini . Это не повлияет на подкаталоги. Вам потребуется скопировать новый файл php.ini в каждый рабочий каталог.

Как редактировать файл php.ini

Чтобы открыть файл php.ini по умолчанию для редактирования, используйте одну из следующих команд (в зависимости от используемого дистрибутива Linux):

  • Ubuntu 16. 04: sudo nano /etc/php/7.0/apache2
  • CentOS 7: sudo nano /etc/php.ini

Внесите необходимые изменения. Каждая строка, начинающаяся с точки с запятой, имеет вид « закомментировано », что означает, что PHP будет игнорировать эту строку. Если вы хотите включить параметр, который был отключен таким образом, удалите точку с запятой в начале строки, чтобы включить его.

Сохраните и закройте файл. Затем перезапустите веб-сервер in order for the changes to take effect:

  • Ubuntu/Debian: sudo systemctl restart apache2
  • CentOS: sudo systemctl restart httpd
  • Web development
  • Учебники
  • Linux
  • PHP
Статьи по теме

PHP 8: что нужно знать о последней версии

  • Веб-разработка

PHP — один из самых важных языков в Интернете. Многие системы управления контентом, такие как WordPress, TYPO3 или Joomla, основаны на PHP. С выпуском PHP 8 были введены различные новые функции. Также были переработаны некоторые старые функции, а это означает, что ошибки могут возникать, если код не актуален. Вы можете найти всю важную информацию о новых возможностях PHP 8 здесь.

PHP 8: что нужно знать о последней версии

Использование PHP Composer в пакетах веб-хостинга IONOS

  • Веб-разработка

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

Использование PHP Composer в пакетах веб-хостинга IONOS

Частые ошибки при смене версий PHP

  • Веб-разработка

В этой статье мы хотим обсудить с вами распространенные ошибки при изменении версии PHP и разработать решения для их исправления.

Частые ошибки при смене версий PHP

Изменение версии PHP на сервере Plesk

  • Веб-разработка

Узнайте, как изменить версию PHP для сервера с Plesk. Это руководство содержит инструкции о том, как найти версию PHP, используемую вашим сервером Plesk, перейти на другую версию PHP и при необходимости установить другую версию PHP.

Изменение версии PHP на сервере Plesk

Установка и использование PHP Composer в Ubuntu 16.04

  • Веб-разработка

PHP Composer — это система управления пакетами для PHP, которая избавляет пользователей от необходимости «изобретать велосипед», когда речь идет о часто используемых компонентах веб-сайта, таких как аутентификация пользователя или управление базой данных. Composer создан по образцу других популярных систем управления пакетами, таких как Ruby’s Bundler.

Установите и используйте PHP Composer в Ubuntu 16.04 Сервер

— Почему я не могу изменить php.ini?

спросил

Изменено 1 год, 5 месяцев назад

Просмотрено 3к раз

Я разместил веб-сайт WordPress на Ubuntu 20.04 через LAMP. Теперь, когда я пытаюсь установить тему, «Загруженный файл превышает директиву upload_max_filesize в php.ini». возникает эта ошибка. Я не могу сохранить, изменив upload_max_filesize в /etc/php/7.4/cli/php.ini.

Как вы можете видеть на изображении ниже, рядом с именем файла php.ini написано «Только для чтения».

Как я могу редактировать этот файл?

  • сервер
  • apache2
  • php
  • лампа

Вы должны редактировать этот файл как пользователь root.