- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
OS Debian lenny
в трех файлах / etc/php5/apache2/php.ini, / etc/php5/cgi/php.ini, / etc/php5/cli/php.ini
установлено папаметр
safe_mode = On (для примера)
php работает в режиме cgi, в каталоге пользователя лежит файл php.ini с записями
sendmail_path = "/ usr / sbin / sendmail-t-i-f ..."
session.save_path = "/ home /..."
кроме этого в файле нет никаких записей
а phpinfo (); отображает что:
safe_mode = Off
Откуда оно приняло такие настройки, если у пользовательском php.ini нет такой записи, а в глобальном php.ini установлено safe_mode = On?
Еще одна интересная вещь:
Когда я удаляю пользовательский php.ini, то настройки все же берутся из гобального php.ini.
Как то не нормально ето.
Как сделать чтоб использовалса глобальний php.ini (/etc/php5/cgi/php.ini), и для пользователя менялись только те настройки в его пользовательском php.ini, которие он задал?
логично
берется пользовательский php.ini (где лежит бинарник)
дальше - настройки по-умолчанию (не путайте с системными настройками, они
используются для php-cgi, если только в каталоге с бинарником нет php.ini файла)
копируем системный php.ini и меняем
По поводу phpinfo(), там написано, где он взял настройки. В каком файле берёт настройки указано в :
Loaded Configuration File
и
additional .ini files parsed
Loaded Configuration File /var/www/din/data/php-bin/php.ini
additional .ini files parsed /etc/php5/cgi/conf.d/gd.ini, /etc/php5/cgi/conf.d/mcrypt.ini, /etc/php5/cgi/conf.d/mysql.ini, /etc/php5/cgi/conf.d/mysqli.ini, /etc/php5/cgi/conf.d/pdo.ini, /etc/php5/cgi/conf.d/pdo_mysql.ini
Scan this dir for additional .ini files /etc/php5/cgi/conf.d
Проблема заключается в том, что / var / www / din / data / php-bin / php.ini почти пуст, и создается он при создании пользователя. Получается если я закрою в глобальном файле / etc/php5/cgi/php.ini disable_function = exec ..... то ничего не закроется для пользователя, так как php имеет настройки пользователя с файла / var / www / din / data / php-bin / php.ini где нет отключенных ф-й по умолчанию.
Я думаю лучше чтоб использовалса глобальний php.ini (/etc/php5/cgi/php.ini), и для пользователя менялись только те настройки в его пользовательском php.ini, которие он задал, но как ето сделать.
Как то не хорошо испманагер сделал ети ф-и
это не особенность isp-манагера, это особенность того, как php парсит
свои конфигурационные файлы.
думаю, можно вынести общие директивы в /etc/php5/<SAPI>/conf.d/core.ini
перекрыть их нельзя - они парсятся после php.ini в директории бинарника
PS:
"закрывать" disable_function в глобальном php.ini - никакого смысла нет. по _самой_идее_
php-cgi - как вы там "закроете", так пользователь у себя в php.ini это и откроет.
Насколько я понял есть два выхода:
1) научить манагер не создавать / var / www / din / data / php-bin / php.ini, все настройки прописать в глобальном / etc/php5/cgi/php.ini. Когда юзеру будет нужно изменить настройки, он закачает дефолтный php.ini в / var / www / din / data / php-bin /, отредактирует его как ему надо, и все.
2) Изменить порядок считывания конфигов.
Configuration File (php.ini) Path - / etc/php5/cgi
Loaded Configuration File - / etc/php5/cgi/php.ini
Scan this dir for additional. Ini files - / var / www / din / data / php-bin / php.ini
/ etc/php5/apache2/conf.d/core.ini - эти настройки перекрыть невозможно.
Второй вариант более идеальный, правильно?
Как изменить способ парсинга конфигов для php?
никак. пересобрать php-cgi бинарник с опцией --with-config-file-scan-dir=...
никак. пересобрать php-cgi бинарник с опцией --with-config-file-scan-dir=...
Параметри сборки:
--with-config-file-path=/etc/php5/cgi \
--with-config-file-scan-dir=/etc/php5/cgi/conf.d \
На результате настройки считываются в последовательности:
1) / etc/php5/cgi/php.ini - глобальные
2) / var / www / user / data / php-bin / php.ini
2) / etc/php5/cgi/conf.d
Configuration File (php.ini) Path - /etc/php5/cgi
Loaded Configuration File - /var/www/USER/data/php-bin/php.ini
Scan this dir for additional .ini files - /etc/php5/cgi/conf.d
additional .ini files parsed - /etc/php5/cgi/conf.d/gd.ini, /etc/php5/cgi/conf.d/mcrypt.ini, /etc/php5/cgi/conf.d/mysql.ini, /etc/php5/cgi/conf.d/mysqli.ini, /etc/php5/cgi/conf.d/pdo.ini, /etc/php5/cgi/conf.d/pdo_mysql.ini
Вопрос: где задается путь считывания юзерських настроек?
Loaded Configuration File - /var/www/USER/data/php-bin/php.ini
Тут
Loaded Configuration File - /var/www/USER/data/php-bin/php.ini
Тут
Здесь указывается какие настройки php загрузились. Вы наверное не читали темы с самого начала.
Я хочу чтобы настройки загружались в следующем порядке:
1) глобальный / etс/php5/cgi/php.ini
2) юзеривський / var / www / USER / data / php-bin / php.ini (в нем будут несколько параметров, которые будут пепекриваты настройки глобального конфига)
3) / etc/php5/conf.d/core.ini - эти настройки загружаются останнымы и они не перекрываются юзером, т.е. он их изменить не может.
Сейчас ситуация которая:
1) загружаеться Loaded Configuration File - / var / www / USER / data / php-bin / php.ini юзерський, почти пустой, и некоторые параметры, которые указаны в глобальном конфиг - вообще не заданы.
2) затем загружаются настройки из / etc/php5/conf.d
Тоисть настройки из глобального конфига / etc/php5/cgi/php.ini вообще не загружаются.
Параметри сборки:
--with-config-file-path=/etc/php5/cgi \
--with-config-file-scan-dir=/etc/php5/cgi/conf.d \
На результате настройки считываются в последовательности:
1) / etc/php5/cgi/php.ini - глобальные
2) / var / www / user / data / php-bin / php.ini
3) / etc/php5/cgi/conf.d
неправда.
_либо_ 1) + 3) - _либо_ 2) + 3).
Вопрос: где задается путь считывания юзерських настроек?
он _стандартный_ - каталог с бинарником php-cgi.
способ 2) + 3) работает _только_ если в каталоге с php-cgi _есть_ файл php.ini (или php-cgi.ini).
в этом случае глобальный php.ini - игнорируется.
файлы в директории --with-config-file-scan-dir - читаются _всегда после_
"основного" конфига.