Php ini где лежит bitrix

Php ini где лежит bitrix

Работа с файлами сайта, размещенного на хостинге или собственной виртуальной машине, рано или поздно приведет вас к файлу основных настроек языка PHP. Узнать, где лежит php ini, можно несколькими способами, которые зависят от операционной системы. Если вы уже используете хостинг на Windows или Linux, информация по поиску и использованию данного файла вам пригодится.

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

Причины для поиска php.ini

Изменения в php.ini для сайта производятся тогда, когда нужно расширить или снять ограничения на некоторые операции – например, объем импортируемых или экспортируемых данных. Снятие ограничений полезно, когда вы переносите сайт вместе с его содержимым с одной платформы на другую, так как настройки по умолчанию могут этому помешать. Продвинутые пользователи могут настроить здесь все, что связано с исполнением команд на языке PHP.

Как найти данный файл

Первый шаг в поисках подойдет для случая, когда сайт уже запущен на виртуальной машине или хостинге (или вы как раз собираетесь это сделать). Создайте в корневой папке сайта файл с расширением PHP, куда скопируйте следующий простой код:

Выполнение этого кода при открытии файла-страницы на сайте даст весьма подробную информацию об используемой версии PHP для вашего сайта, а также другие важные параметры. Там же будет и расположение файла php.ini на хостинге, которое используется в данный момент.

Основное правило при использовании Apache, Denver и других оболочек для виртуального сервера: вы фактически работаете с тем же Linux’ом, поэтому пути находятся стандартными для этой системы (и для самого PHP) способами, и, скорее всего, содержат соответствующие названия в именах папок. Если советы, касающиеся конкретных CMS, не помогли, просто ищите файл стандартным способом через создание страницы с phpinfo().

Ищем файл настроек PHP в популярных CMS

Даже пользователю-новичку может быть нужно найти, где находится php ini в WordPress или Joomla. Эти CMS дружелюбны к новым пользователям, но изменения параметров PHP все равно могут потребоваться по разным причинам. Файл обычно располагается в usrlocalphp5 относительно корневой папки, которую вам предоставляет хостинг, или папки, которая является рабочей для вашего внутреннего сервера. Метод с созданием проверочного файла, описанный выше, отлично работает в этом случае. Сами CMS обычно не вносят изменения в расположение php ini.

Будьте внимательны, когда заказываете хостинг веб сайтов – в некоторых случаях провайдер может ограничить или запретить изменение важных файлов, в том числе конфигурационных файлов PHP. Если возникают проблемы с поиском или открытием файла, есть смысл обратиться в техподдержку хостинга напрямую и уточнить, какие возможности вам доступны. В работе с собственным виртуальным сервером на Denver/Apache вас никто не ограничивает.

Если вы работаете в CMS Bitrix, вы можете и не найти файл настроек PHP в привычных директориях. Файл php ini в Bitrix лежит в разных папках в зависимости от версии самого Битрикса, поэтому создавайте тестовую страничку из первого примера и узнавайте точный путь оттуда. На некоторых хостингах вы можете найти путь /home/login, но туда обычно загружаются собственноручно созданные файлы, исходник для которых берется из /home/login/etc.

Расположение php.ini в ОС Linux разных версий и сборок

ОС Linux считается самой подходящей системой для регулярной работы с хостингом, сайтами на PHP и сопутствующими процессами. Если вы имеете непосредственный доступ к файловой системе сервера (являетесь его владельцем, например), то ищите php.ini по адресам /etc/, /usr/local/lib или /usr/local/php/etc/ – это самые распространенные места. PHP Zend размещает ини файл в /usr/local/Zend/etc/, учтите это, если используете данную оболочку. Вы можете задать и обычный поиск файла в системе, но так вы не узнаете, какой из нескольких файлов php.ini реально используется в данный момент для задания настроек сервера и сайта.

Вряд ли сложным исключением станет сборка ОС на базе Ubuntu. Место, где лежит php.ini в Ubuntu, определяется через phpinfo() и зависит от того, какой именно тип сервера вы используете. Для Apache это может быть /etc/php5/apache2, например. Если файл вовсе не удается обнаружить, то его можно создать вручную или скопировать из другого места, но только если знаете примерную структуру файла.

Как настроить php.ini под свои потребности?

Настройка важных и второстепенных параметров может быть весьма долгим процессом. Если у вас есть выделенный веб сервер, и вы хотите тонко настроить его работу, то рекомендуем обратиться к одному из онлайн руководств по параметрам в PHP.ini для продвинутых пользователей. Сам процесс задания параметров сводится к изменению числовых или текстовых значений для одной из строк-директив.

Читайте также:  Найти страницу в контакте по номеру телефона

Вот некоторые из настроек, которые можно изменить, если владелец хостинга разрешает использовать php.ini и редактировать его самостоятельно:

Эти две строки важны для любого пользователя, желающего снять ограничение на объем загружаемых файлов. Эта настройка проверяется при импорте записей в Вордпресс и другие CMS того же типа, значения по умолчанию в целях безопасности сервера сделаны очень скромными. Если вы точно знаете, что делаете, можете значительно увеличить лимит, либо просто подогнать его под размер импортируемых файлов (если уже знаете их примерный объем).

Здесь задается максимальное время в секундах, которое отводится на выполнение каждого скрипта и загрузку данных в процессе его работы соответственно.

Эта важная директива задает максимальное выделение памяти под один отдельный скрипт. Не завышайте это значение, если не знаете, для чего это может понадобиться. Скрипты PHP достаточно легковесны с точки зрения обычного пользователя.

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

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

    Создаем php-файл (имя может быть любое, но мы берем для примера myphpinfo.php), и добавляем в него следующие строки:

Как настроить php.ini?

Файл php.ini имеет такие правила синтаксиса "директива = значение". Если вы хотите добавлять комментарии (например, в которых указываете на что влияет данная настройка), то делайте после точки с запятой (все, что идет после этого знака не учитывается как команда). Вот пример:

max_execution_time = 40 ; Максимальное кол-во секунд исполнения скрипта

Далее рассматриваем основные настройки, которые можно сделать в файле php.ini:

Общие настройки

PHPengine = On ; Работа PHP-скриптов включена.

short_open_tag = On ; Разрешает упрощенно обрамлять PHP-код тагами

Precision = 12 ; Указывает сколько цифр будет после запятой, у чисел с плавающей точкой.

output_buffering = 4096 ; Автоматически будет включена буферизация вывода, с размером буфера указанным после "равно".

safe_mode = On ; Безопасный режим.

safe_mode_allowed_env_vars = PHP_ ; Разрешает пользователю работать только с переменными окружения, которые начинаются с PHP_. Если эта директива будет пустой (не будет иметь значения), то пользователи смогут изменять любые переменные окружения. Это может очень плохо сказаться на защите сценариев.

safe_mode_protected_env_vars = LD_LIBRARY_PATH ; Запрещает изменять переменные, которые перечисляются через запятую.

disable_functions = ; После знака "равно" нужно через запятую записать функции, которые вы хотите отключить (обычно это делается для безопасности)

disable_classes = ; После знака "равно" нужно через запятую записать классы, вызов которых вы хотите запретить (обычно это делается для безопасности)

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

max_execution_time = 40 ; Максимальное время на выполнение скрипта (в секундах)

max_input_time = 40 ; Максимальное время в секундах, которое дается скрипту может на обработку данных, которые загружаются.

memory_limit = 16M ; Максимум памяти, которые выделяется для работы одного скрипта

Обработка ошибок и журналы

error_reporting = E_ALL | E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE ; Указывает перечень ошибок, которые можно выводить.

display_errors = On; Разрешает выводить ошибки прямо в браузер (часто используют для удобства отладки).

display_startup_errors = On ; Ошибки появляющиеся при страрте PHP разрешено показывать.

log_errors = On ; Ошибки разрешено записывать в файл журнала.

log_errors_max_len = 1024 ; Максимальное число символов, которое может составлять длинна журнала.

track_errors = On ; Последние сообщение об ошибки сохранится в переменную $php_errormsg

html_errors = On ; Разрешен вывод сообщений об ошибках в HTML.

error_log = filename ; Задается имя журнала ошибок.

Обработка данных

variables_order = "EGPCS" ; Устанавливает порядок, в котором PHP будет регистрировать перменные (E — встроенные переменные, G — GET переменные, P — POST переменные, C — Cookies, S — сессии). Если убрать любую из букв, то работа соответствующих переменных будет блокироваться.

register_globals = On ; Включает возможность для обращения к переменным, которые поступают через GET/POST/Cookie/сессии, как к обычным переменным (например "$имяпеременной").

register_argc_argv = On ; Разрешено создавать переменные $argv и $argc на основе информации из GET-метода.

post_max_size = 8M ; Устанавливает максимальный объём данных, который может быть принят.

magic_quotes_gpc = On ; Включает автоматическую обработку кавычек, которые поступают через POST/GET/Cookie.

auto_prepend_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ДО выполнения сценария
auto_append_file = ; Содержимое файлов, указанных в этих директивах, PHP должен обрабатывать соответственно ПОСЛЕ выполнения сценария.

default_mimetype = "text/html" ; Задает кодировку для Content-type. По умолчанию будет использовано text/html без указания кодировки

doc_root = ; Задается корневая папка для PHP-сценариев.

extension_dir = "./" ; Задается папка, в которой будут хранится динамически загружаемые расширения.

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

file_uploads = On ; Загрузка файлов на сервер разрешена.

upload_tmp_dir = ; Временная директория для файлов, которые загружаются.

upload_max_filesize = 2M ; Устанавливает максимальный размер файла, который можно загрузить.

Работа с сокетами

user_agent="PHP" ; Задается переменная USER_AGENT, когда происходит подключение через сокет.

default_socket_timeout = 30 ; Максимальное время на прослушивание сокета (секунды).

Сессии

session.save_handler = files ; Уазывает, что информацию о сессиях нужно хранить в файлах

session.save_path = /tmp ; После знака "равно" нужно указать путь к папке в которой будет храниться информация о сессиях (важно чтобы она папка уже существовала)

Читайте также:  Отзывы о холодильных компрессорах wanbao

session.use_cookies = 1 ; Разрешает использование cookie в сессиях

session.name = PHPSESSID ; Указывает на исользование в качестве имени сессии и сессионной cookie — ID сессии

session.auto_start = 0 ; Запрещает инициализировать сессии при начале соединения

session.cookie_lifetime = 0 ; Время жизни сессии ("0" — значит, что сессия живет, пока окно браузера не будет закрыто)

session.use_trans_sid = 1 ; Если пользователь отключил cookie, то во всех ссылках будет добавлен ID сессии

Динамические расширения

extension=modulename.extension ; Можно использовать чтобы загружать внешние модули. Для Windows-систем, обычно пишут — extension=msql.dll, а для
UNIX — extension=msql.so

Работа с модулями MySQL

mysql.allow_persistent = On ; Разрешает устойчивые MySQL-соединения.

mysql.max_persistent = -1 ; Задает сколько максимум может быть устойчивых MySQL-соединений. Если указать -1, то это будет значить, что ограничений нет.

mysql.max_links = -1 ; Задает сколько максимум может быть устойчивых MySQL-соединений, и неустойчивых ODBC-соединений. Если указать -1, то это будет значить, что ограничений нет.

mysql.default_port = ; Порт для функции mysql_connect.

mysql.default_socket = ; Имя сокета для локальных соединений MySQL.

mysql.default_host = ; Имя хоста для функции mysql_connect.

mysql.default_user = ; Имя пользователя.

Если вы создали собственный файл php.ini и поместили его в папке сайта

В таком случае, в целях безопасности нужно заблокировать доступ к нему для всех, кроме вас. Для этого необходимо в файле .htaccess прописать такой код:

Но будьте внимательны, т.к. при данных настройках, все директивы (php_value, php_flag и т.д.) касающиеся настроек php через файл .htaccess перестанут работать (будет выдаваться ошибка 500 Internal Server Error).

  1. Решение успешно протестировано на ISPmanager 4
  2. В режиме Apache MPM-ITK скрипт restore.php выдаёт ошибку, информация по ней в разделе «Важная информация»

Возможно, вы уже знакомы с таким продуктом, как «1С-Битрикс: Веб-окружение» — Linux. Очень часто это идеальное решение для проектов на базе CMS «Битрикс», но, иногда, чисто «консольное» меню не обладает необходимым функционалом для людей, работающих над проектами.

К примеру, другой популярный продукт — ISPmanager, позволяет создавать FTP аккаунты из удобной веб-панели для администраторов всего за пару кликов мышкой, в то время как для осуществления аналогичных действий из консоли вам необходимы навыки администрирования Linux. Но согласитесь, порой просто хочется управлять своим сервером и проектами из вкладки в браузере, без помощи ssh консоли.

Однако, ISPmanager, (а в нашем случае его последняя версия под номером 5), не готов «из коробки» работать даже с сайтами на Битрикс, не говоря уже о Битрикс24, корпоративных порталах. Часть функционала недоступна, а проекты работают довольно медленно. Приходится долго время изучать рекомендации из документации по Битриксу, которая, к сожалению, иногда сильно запаздывает с обновлением актуальной информацией.

В связи с требованием работать с проектами через "user-friendly" интерфейс ISPmanager 4/5 и необходимостью сохранить скорость и функционал проектов, было принято решение о некоем «скрещивание» этих двух систем.

  1. Сценарий установки протестирован только на чистой CentOS 6.6 x64_86, сразу после установки стабильного ISPmanager 4/5 и включения в нём «Возможности» nginx.
    Для продвинутых пользователей, желающих использовать предложенное решение, которые ранее модифицировали какие-либо настройки в своей системе, категорически не рекомендуется устанавливать скрипты полностью в автоматическом режиме — выполняйте команды из них вручную
  2. Автор не даёт никаких гарантий по стабильной или правильной работе предложенного решения. Все инструкции вы выполняете на свой страх и риск. Текущая версия скриптов и конфигурационных файлов находится на этапе активного тестирования
  3. Модуль «компрессия» в системе должен быть обязательно УДАЛЁН.
  4. Битриксовый скрипт restore.php в режиме Apache MPM-ITK падает с ошибкой short_open_tag parameter must be turned on in php.ini
    Происходит это из-за неправильно использования условия if в этом скрипте. Проблема существует, потому что во всех остальных режимах php она не модулируется, но я уже связался с разработчиками 1С-Битрикс и они должны будут исправить проблему (другой вопрос когда они это сделают). Если кого-то интересуют подробности бага — отвечу в комментариях

Пока что, в качестве временного фикса, используем для восстановления сайта дистрибутив из прикреплённого к статье архиву.

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

Рассматривается следующий сценарий:

  1. Вы установили чистую CentOS 6.6 x86_64
  2. Установили ISPmanager 4/5, следуя официальным инструкциям
  3. В разделе «Возможности» панели ISPmanager 4/5 активировали Nginx

Далее можно приступать к самой оптимизации: (все ссылки в конце публикации)

  1. запускаем «bitrix-env_5.1.2_patched_2.sh»
  2. копируем скрипт «isp_patch_V0.x.sh» вместе с распакованным архивом «patch_filesV0.1.zip» в произвольную директорию на сервере
  3. запускаем «isp_patch_V0.x.sh»

Поздравляю, ваш сервер с ISPmanager 4/5 готов для работы с проектами на Битрикс

Читайте также:  Не загружается astra linux

Осталось только развернуть сайт на свежем домене: (все ссылки в конце публикации)

  • Предложенный мной вариант о том, как это можно сделать, в отдельной, но небольшой инструкции "создание хоста.pdf" (в любом случае, обратите внимание на подключение необходимого конфига apache и nginx к созданному хосту)
  • Для вашего удобства, выкладываю дистрибутив для установки Битрикса в архиве "bitrix_install.zip" (установка в таком случае происходит в режиме Быстрая установка/Short install)

Полностью рабочий дефолтный ISPManager 4/5, который научился работать с проектами на Битриксе быстро и без потери функционала.

Сборка уже используется в нашей компании — Эм Си Арт, как для своих сайтов и стендах, так и для продакшен сайтов клиентов.

Буду рад любым вашим комментариям, замечаниям и пожеланиям!

Этап 1. bitrix-env.sh (или «1С-Битрикс: Веб-окружение» — Linux)

Классическая установка Битрикса происходит на Битрикс-окружение, которое устанавливается через скрипт
www.1c-bitrix.ru/products/env
Именно с разбора bitrix-env.sh мы и начнём оптимизацию своего ISPmanager.
На самом деле, в самом скрипте ничего особенного нет, сначала идёт стандартная проверка дистрибутива системы, затем, по результатам этой проверки, устанавливается то или иное необходимое ПО.
Вся магия происходит, когда скрипт добавляет «фирменный» репозиторий 1С-Битрикс и устанавливает в систему пакет bitrix-env* и bx-nginx. На них мы заострим своё внимание.

И так, наш "bitrix-env_5.1.2_patched_2.sh" ничто иное, как немного переделанный скрипт от самого 1С-Битрикс, но основная «фишка» в установке bitrix-env из него убрана, почему — расскажу дальше.

Этап 2. bitrix-env.rpm (или Основной этап конфигурации)

Экосистема, которую предлагает bitrix-env, нам не подходит, нагромождения потенциально конфликтующих пакетов/конфигов ISPmanager и Битрикс-окружения нам вовсе ни к чему.

Оставив только нужно на мой взгляд я перенёс всё из rpm пакета в скрипт isp_patch.sh (внимание, протестирован только на centos 6.6 x64).

Далее — немного подробнее.

Этап 2.1 bx-nginx (или Nginx с поддержкой Push & Pull)

Этот пакет, который нам предлагает Битрикс-окружение, является ничем иным, как скомпилированным nginx с модулем «push and pull», который применяется в таком функционале как, например, «Бизнес-чат», «Живые комментарии», «Видеозвонки», «Мобильное приложение».

Мы можем просто забрать себе в систему, любезно скомпилированный 1С-Битрикс, готовый бинарник nginx на свою машину с ISPmanager и избавить себя от необходимости компилировать его самостоятельно (22 и 23 строки скрипта)

Этап 2.2 bvat.bx (или автотюнер параметров ПО)


Интересным составляющим «Битрикс-окружения» является скрипт bvat.bx, который прописывается в автозагрузку системы и выполняет работу по тюнингу параметров ПО, отвечающее за работу проекта (преимущественно mysql сервера и расходу оперативной памяти). Сам тюнер работает довольно просто. Основываясь на текущей конфигурации системы он выставляет тот или иной заготовленный «пресет» настроек в качестве действующих параметров. Хотелось бы заметить, что в конфигурации предусмотрено изменения параметров, которые выставил bvat.bx без полного его отключения (хотя можно поступить и так).

В нашем скрипте за его установку отвечают строки 25-31

Аналогично эталонному Битрикс-окружению, свои собственные параметры для mysql сервера можно прописать в файле /etc/mysql/conf.d/z_bx_custom.cnf (которые будут применены в обход bvat.bx). Так же, подключением своих конфигурационных файлов после конфигурационных файлов bvat, можно обойти его автонастройки для остального ПО, если тот или иной параметр, выставленный автоматически, вас не устраивает.

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

Этап 2.3 Настройки php

Этап 2.4 Настройки mysql


42-48 строки скрипта копируют заранее подготовленный и настроенный my.cnf, в котором вы наверняка захотите что-нибудь поменять уже самостоятельно.

Этап 2.5 bitrixenv.ini (или директивы php необходимые для работы Битрикса)

Неотъемлемой частью классического Битрикс-окружения является файлик /etc/php.d/bitrixenv.ini, содержащий необходимые настройки директив, перечисленные в нём.

с минимальной разницей с оригинальным файлом, я скопирую его на свою машину с ISPmanager, как файл /etc/httpd/bx/bx_apache.conf (строки 50-52).

Важно заметить, что этот файлик мы нигде не инклюдим намеренно, чтобы прописывать его при необходимости только отдельным Virtualhosts созданным из-под ISPmanager (в секцию конфиг-apache).

Этап 2.6 Настройка nginx


Настройки nginx в моём скрипте имеют долю «автотюна» (строка 64 и 67)
Остальное взято из конфигурационных файлов для nginx от Битрикс-окружения

строки 72-77 отвечают за компрессию на уровне сервера
79-82 — за push&pull

Обратите внимание на файл bx/conf/bitrix.conf . Важно заметить, что этот файлик мы нигде не инклюдим намеренно, чтобы прописывать его при необходимости только отдельным хостам, созданными из-под ISPmanager (в секцию конфиг-nginx)

кроме того, в нём есть блок «Some security options» с заранее подготовленными, но закоментированными опциями, имеющими отношения к безопасности хоста.

Ссылка на основную публикацию
Dz09 как узнать тип процессора
Ты предлагаешь нам погуглить вот эти символы, сходить на сайт производителя и сообщить тебе? В Гугле забанили штоле? Если вас...
Amd radeon hd 6400m series характеристики
Результаты тестов 3DMark03 11711 3DMark06 8372 3DMark06 4502 3DMark11 535 Cinebench R11.5 OpenGL 16.2 Рейтинг 3DMark06 289. NVIDIA GeForce 610M...
Amd sempron 145 разблокировка ядер
Иногда при выборе железных компонентов персонального компьютера приходится экономить на чем-то. Обычно это объясняется ограниченным бюджетом пользователя. В этом случае...
Http localhost 28016 ic dcb login html
Для восстановления пароля администратора в случае его утери необходимо иметь доступ к PhpMyAdmin или другому веб-интерфейсу для администрирования СУБД MySQL....
Adblock detector