php -d 'variables_order=EGPCS' test.php
. Через ini_set эту настройку устанавливать бессмысленно, так как проверка опции variables_order и заполнение массива $_ENV происходит ещё до того как выполнится хотя бы одна строка вашего скрипта. <?php // test.php
var_dump(ini_get('variables_order'));
var_dump(filter_input(INPUT_ENV, 'HELLO'));
var_dump(getenv('HELLO'));
var_dump($_ENV['HELLO']);
export HELLO=123
php test.php
/home/vamp/test.php:2:
string(5) "EGPCS"
/home/vamp/test.php:3:
string(3) "123"
/home/vamp/test.php:4:
string(3) "123"
/home/vamp/test.php:5:
string(3) "123"
Чтобы filter_input заработал вместе с INPUT_ENV, нужно в php.ini опцию variables_order добавить букву E
E
не заполняется массив $_ENV в том числе. Что нужно сделать с массивом $_ENV, чтобы получить значение $_ENV['TEST'] с помощью filter_input(INPUT_ENV, 'TEST') ?Ничего вы с этим не сделаете. Функция filter_input не работает с $_ENV.
вы опять путаетесь, этот варнинг написан для глобальных массивов, которые РЕКОМЕНДУЕТСЯ ФИЛЬТРОВАТЬ с помощью filter_var, если в них были внесены изменения, а нужно ПОЛУЧИТЬВы пишете про вторую часть ворнинга, где советуют применять filter_var на $_ENV, чтобы иметь возможность работать с пользовательскими модификациями массива $_ENV. В первой же части написано как раз про то, что filter_input being filtered is the original "raw" content provided by the SAPI. То есть filter_input берёт данные напрямую из SAPI. Не из $_ENV.
баг даже не в null, а в том что INPUT_ENV не детектирует массив $_ENVИ не должен детектировать. Об этом написано в документации:
WarningБерётся "оригинальный" контент, а не данные из $_ENV. Другими словами, при старте скрипта все переменные окружения копируются в $_ENV, а функции типа getenv и filter_input работают с тем самым местом, откуда эти переменные окружения копировались, а не с $_ENV.
The content of the superglobal that is being filtered is the original "raw" content provided by the SAPI, prior to any user modification to the superglobal. To filter a modified superglobal use filter_var() instead.
такой контейнер я могу создать разными способами на основе разных образов, но вот добиться следов выполнения заданий по cron - я никак не могу. Cron вроде как оказывается запущенным, но ожидаемых результатов от работы - нет :(Хотелось бы увидеть что конкретно вы уже пробовали сделать. Приведите пример Dockerfile и docker-compose.yml, с вашими экспериментами с кроном.
security:
authorization: enabled
db.updateUser(
"graylog",
{
authenticationRestrictions: [
{
clientSource: ["10.223.223.223", "10.223.223.224"]
}
]
}
)
Но в чем разница между DI-контейнером и сервис-контейнером не понимаю.
Если у вас есть какое-то вменяемое объяснение почему билд делает ТРИ разных сборки, которые отличаются друг от друга (та, что можно скачать с telegram.org/android и те что для разных сторов), кроме как различиями в ограничениях по цензуре контента, озвучьте их.
Ну и да, то что они разные уже как бы вопросы вызывает. Уже недостаточно просто убедиться что они совпадают с той, которая не телефоне стоит, нужно уже разбираться в чём разница.
This page contains instructions for verifying that Telegram's open source code is exactly the same as the code that is used to build the apps that are available in the App Store, Google Play and directly on the Telegram website.
И чо, вот прям регулярно кто-то проверяет новые версии?
Где ссылка-то на инструкцию? Я бы даже просто ради интереса проверил.
Избранная цитата:
Полагаю, гугл выкинул gcc не из-за того, что не смог разобраться в парочке опций компилятора.