G|Translate: English EN Français FR Deutsch DE Italiano IT Русский RU Español ES

Файл PHP.INI

5/5 - (1 голос)

Файл php.ini крайне важен для обработки сервером PHP Ваших скриптов (или скриптов CMS)

Файл PHP.INI

Как его найти?

Проблема в том, что:

  • файлов php.ini может быть несколько
  • для разных версий PHP они могут находиться в разных местах
  • для разных серверов места расположения файлов тоже будут разными
  • для разных способов управления PHP (Apache или варианты CGI) — файл php.ini тоже может запущен из разных мест
  • константы в файле php.ini имеют значение по умолчанию (т.е. когда они явно не указаны)

Всё это вместе может приводить к достаточно необычному поведению Вашего проекта при переключении версий PHP или способов запуска.

Т.е. меняются не только команды PHP (немного разные для разных версий, но и само поведение PHP после запуска).

Где находится файл php.ini?

В общем случае для Windows-машин и Linux файл php.ini будет в разных местах. Это же относится и к разным версиям PHP

Создаем простой файл info.php и запускаем его из браузера mysite.ru/info.php

<?php
phpinfo();
?>

В результате нам браузер выведет информацию о PHP

Для версии PHP 7.3 Apache only

Файл PHP.INI 

Для версии PHP 7.3 Apache FastCGI

Файл PHP.INI

Для версии PHP 7.4 Apache FastCGI

Файл PHP.INI

Как видим  — пути разные:

  • Configuration File (php.ini) Path (путь по умолчанию)
  • Loaded Configuration File (загруженный файл именно для Вашего сайта)

Сводно в таблице

Тип запускаConfiguration File PathLoaded Configuration File
PHP 7.3 Apache only/etc/php/7.3/apache2 /etc/php/7.3/apache2/php.ini
PHP 7.3 Apache FastCGI/etc/php/7.3/cgi/var/www/…../php-bin/site/php.ini
PHP 7.4 Apache FastCGI/opt/php7.4/etc/var/www/…../php-bin/site/php.ini

Значения основных параметров файла PHP.INI

Важно: если файл (Loaded Configuration File) пустой — то будут применяться значения параметров по умолчанию

В принципе Вы можете изменять параметры работы PHP несколькими способами:

  • php.ini
  • непосредственно в скрипте PHP через функцию ini_set()
  • через директивы файла .htaccess  управления Apache 

short_open_tag

По умолчанию ON — т.е. константа включена.

Отвечает за начало php-скрипта <?php….?>. При включенной константе допустимо использование без php, т.е. скрипта вида <?……..?>.

И тут появляется нюанс.

Если у Вас при установке Apache FastCGI скрипт без php в начале прекрасно работает, то переключив просто в режим  Apache only (где явно указано OFF)- скрипт перестанет работать и браузер просто выведен его содержимое.

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

<?php
...
?>

display_errors

По умолчанию OFF — т.е. константа выключена, PHP не показывает ошибки и предупреждения на экране.

Можно включить внутри PHP скрипта

ini_set('display_errors', 1);

display_startup_errors

включает опцию вывода ошибок, возникающих при запуске PHP, когда еще не работает директива display_errors.

По умолчанию OFF — т.е. константа выключена, PHP не показывает ошибки и предупреждения на экране.

Можно включить внутри PHP скрипта

ini_set('display_startup_errors', 1);

error_reporting

указывает, какие ошибки выводятся по уровню значимости. При значении директивы E_ALL отображаются все ошибки.= 

Можно включить внутри PHP скрипта

ini_set('error_reporting', E_ALL);

Параметры для использования ресурсов PHP

Вот они собственно

Файл PHP.INI

max_input_vars

Числовой параметр, устанавливающий ограничение на количество переменных, которое можно передать в POST-запросе

По умолчанию 1000

memory_limit

Эта директива задаёт максимальный объем памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы убрать ограничения, установите значение этой директивы в -1. 

По умолчанию 128M

Если используется вариант memory_limit int — то размер указывается в байтах.

max_input_time

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

Устанавливается в секундах.

По умолчанию -1 (без ограничений).

upload_max_filesize

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

Измеряется в мегабайтах или гигабайтах. По умолчанию 2M

 

Подпишитесь в VKontakte - нажмите кнопку
Подпишитесь в Telegram - нажмите кнопку
Наша группа ODNOKLASSNIKI

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла




Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)

В Вашем браузере должна быть настроена обработка ссылок mailto

site_post@bk.ru

или просто скопируйте адрес e-mail



Почитать в разделе

Хостинг VPS/VDS

Для попадания в TOP10  (Яндекс, Гугль) сайт должен уметь отрабатывать много пользователей Много пользователей – это не просто много пользователей в период времени, это много пользователей в один момент времени (т.е. на сайт заходят несколько пользователей одновременно) Apache – он однопоточный, т.е. пользователи по очереди Nginx – он многопоточный – но для статики (картинки в основном + кэш от движка) Nginx +Apache = на 90% хостингов пойдет для чистого html А вот если у нас динамический сайт на php – вот тут нужны ресурсы. Серверу нужно собрать html на основе инструкций php Вот потребление памяти на сборку страницы html из кода php Вот потребление ресурсов процессора Nginx...
(Читать полностью...)

  • Всего статей в разделе: 9
  • Показано статей в списке: 8
  • Сортировка: название по алфавиту

Использование FTP и SFTP

FTP по умолчанию не является защищенным протоколом Задача простая: нужно получить доступ к файлам на сервере к файлам, которые относятся к сайтам, а не ко всему серверу соединение должно быть защищенным По умолчанию у нас есть базовых два варианта: FTP, порт 21, не защищенное соединение, видим выбранную папку с сайтом SFTP, порт 22, защищенное соединение, но видим весь сервер начиная с root Если быть совсем точным - то FTP использует два порта, один для команд, второй - для передачи данных. Соединение с сервером по FTP FTP (англ. File Transfer Protocol) — протокол передачи файлов по сети, появившийся в 1971 году задолго до HTTP и даже до TCP/IP, благодаря чему...
(Читать полностью...)

Как выбрать VPS/VDS по параметрам

Будем выбирать VPS/VDS по параметрам. VPS - virtual private server VDS - virtual dedicated server Читаем статью Чем отличается сервер VPS от VDS Другими словами - виртуальный компьютер у хостера, где Вы можете разместить свой web-проект. Компьютер как настоящий (cpu, память, диск, ОС) - только нарисованный в памяти сервера. Про варианты работы VDS читаем статью Хостинг VPS Основные параметры: система виртуализации (OpenVZ, KVM, Hyper-V) операционная система (Linux, Windows) число ядер процессора диск (SAS, SSD, NVMe) оперативная память RAM трафик и ширина канала панель управления сервером (для настоящих любителей Lunix необязательно) И собственно web-проект...
(Читать полностью...)

Панель управления веб сервером

Хорошая панель управления (она же GUI) должна давать возможность (помимо стандартных функций): сканер-антивирус (для проверки файлов на сервере и базы MySql) возможность создания аккаунтов sFTP   Бесплатные панели управления сервером Читаем статью Бесплатные панели управления серверами в 2021 году Список: VestaCP BrainyCP Fastpanel (от хостера FastVPS) ISPConfig Ajenti ,CWP – Control Web Panel Virtualmin KeyHelp EHCP – Easy Hosting Control Panel Sentora Платные панели управления...
(Читать полностью...)

Порты вебсервера и их основная защита

Для чего сделаны разные порты вебсервера и зачем их защищать? Если у Вас есть сайт, то хакер для взлома может пойди другим путем. Он будет ломать сам вебсервер,  а не отдельный сайт. Для взаимодействия с пользователями (посетителями, админом) вебсервер использует отдельные порты (с номером), по которым доступен соответствующий сервис. Номер порта обычно указывается через двоеточие после IP-адреса. Например, 192.168.1.1:22 - порт для сервиса SSH для администратора (фактически командная строка Linux). В таблице Номер Сервис Описание 20   FTP (File Transfer Protocol) - порт данных Передача файлов на удаленный сервер 21 FTP (File Transfer Protocol) - порт...
(Читать полностью...)

Права доступа к файлу на сервере

Вот такая картинка Система разрешений Linux Система разрешений Linux была изобретена в 1970-х годах. Поскольку вычислительные потребности были ограничены в те годы, базовая система разрешений была довольно ограничена. Эта система разрешений использует три разрешения, которые можно применять к файлам и каталогам^ чтение (read)) запись (write) выполнение (execute) Для файлов и каталогов смысл разрешений немного отличается Разрешение Код Файл Каталог Read 4 Получить содержимое файла Получить список содержимого папки. Write 2 Изменить содержимое файла Право создавать и удалять файлы в этой папке Execute 1 Запустить файл как программу Разрешить...
(Читать полностью...)

Программы для передачи файлов на удаленный сервер

Как загрузить свои файлы на сервер? Мы можем использовать два разных протокола (SFTP и SCP) и разные программы соответственно WinSCP WinSCP - свободный графический клиент протоколов SFTP и SCP, предназначенный для Windows. Распространяется по лицензии GNU GPL. Обеспечивает защищённое копирование файлов между компьютером и серверами, поддерживающими эти протоколы. Сайт программы https://winscp.net/ Разработчик Мартин Прикрыл (Чехия). Название от команды Linux scp (Secure Copy Command), которая отвечает за копирование файлов с поддержкой SSH.  Если у Вас есть root-доступ - то Вы увидите все папки на сервере, а не только папку var/www (где живет Ваш сайт). Программа предлагает два...
(Читать полностью...)

Управление сервером VPS через SSH (программа PuTTY)

Будем использовать для управления веб-сервером программу для Windows - PuTTY Это фактически командная строка Linux через SSH SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. Крайне неплохо будет поставить дополнительную защиту на SSH сервера, т.к. желающих подобрать пароль очень много - весь мировой интернет. А логин обычно root Читаем статью Настраиваем fail2ban Сайт программы...
(Читать полностью...)

Чем отличается сервер VPS от VDS

В чем разница VPS/VDS? Хитрые хостеры отвечают, что это одно и то же. А вот не совсем: VPS - (англ. virtual private server) - виртуальный частный сервер VDS - (англ. virtual dedicated server) - виртуальный выделенный сервер Server - он конечно сервер, но разный. Одна буква P/D - и разница есть. Теперь вот так по разным виртуализациям на живом железе: KVM только Linux - VDS OpenVZ только Linux (модифицированное общее ядро для всех виртуальных машин) - VPS Hyper-V возможны виртуальные сервера на Linux - VDS возможны виртуальные сервера на  Windows - VDS вообще можно любую операционную систему установить - VDS Читаем статью про...
(Читать полностью...)

X

    Please prove you are human by selecting the Key.