IP : 3.145.213.63 Hostname : axolotl Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, OS : Linux PATH: / var/ www/ axolotl/ data/ www/ ./ get-mysql-command-args.php/ /

<?php

$bitrixPath = @$argv[1];

if (!$bitrixPath) {
echo "Syntax: {$srgv[0]} <bitrix_document_root>\n";
exit(1);
}

$settings = require "$bitrixPath/bitrix/.settings.php";

$dbSettings = $settings['connections']['value']['default'];

$vars = [
'login' => $dbSettings['login'],
'password' => $dbSettings['password'],
'host' => $dbSettings['host'],
'database' => $dbSettings['database'],
];

foreach ($vars as $name => $arg) {
if (!preg_match('/^[a-zA-Z0-9_.@#$%^-]*$/', $arg)) {
throw new \Exception("Maybe wrong characters in $name: $arg");
}
}

// выводим здесь только переменные в одинарных кавычках, чтобы можно было раскрыть в bash через
// eval set -- $vars
$mysqlArgs = "'{$vars['login']}' '{$vars['password']}' '{$vars['host']}' '{$vars['database']}'";

echo $mysqlArgs . "\n";