Настройка файла 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 содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать.
Если вы собираетесь использовать несколько из этих интерпретаторов, то вам придется указывать настройки для каждого из них отдельно. Вы можете убедиться, что в каждой из папок лежит файл php.ini.
Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:
имя_настройки=значение_параметра
Символами [] обозначается имя секции, например, [PHP], а символ ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.
Настройка файла php.ini
Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:
Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.
Вывод ошибок в php
Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:
Замените off на on.
Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак ~. Приведенный выше пример отображает все ошибки (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.
Войдите в панель управления хостингом.
-
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:
- org/HowToStep»>
3.
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
-
4.
Сохраните изменения и закройте файл.
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
-
1.
Войдите в панель управления хостингом.
-
2.
В разделе «Файлы» нажмите Менеджер файлов. Перейдите в каталог php-bin/имя-домена. Измените права файла php.ini на 0600 или 0644. Нажмите Save:
- org/HowToStep»>
3.
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
-
4.
Сохраните изменения и закройте файл.
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
-
1.
Войдите в панель управления хостингом.
-
2.
В разделе «Файлы» перейдите в каталог etc/имя-домена. Измените права файла php.ini: в строке «Владелец» поставьте чекбоксы Чтение и Запись, в строках «Группа» и «Остальные» поставьте чекбокс Чтение.
Нажмите Применить:
-
3.
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
-
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.
Перейдите в корневую папку сайта.
-
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.
Перейдите в корневую папку сайта.
-
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.
Перейдите в корневую папку сайта.
-
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.
Содержание
- Требования
- Просмотр конфигурации PHP сервера
- Как найти файл php.ini
- Как редактировать файл php.ini
Требования0023
- Облачный сервер с 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.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.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.