throw new \
RuntimeException(sprintf('Encryption key not found in "%s".', \
dirname($this->pathPrefix
)));
} } private function export(string
$filename, string
$data): void
{ $b64 = 'decrypt.private' ===
$filename ? '// SYMFONY_DECRYPTION_SECRET='.
base64_encode($data)."\n" : '';
$name =
basename($this->pathPrefix.
$filename);
$data =
str_replace('%', '\x',
rawurlencode($data));
$data =
sprintf("<?php // %s on %s\n\n%sreturn \"%s\";\n",
$name,
date('r'
),
$b64,
$data);
$this->
createSecretsDir();
if (false ===
file_put_contents($this->pathPrefix.
$filename.'.php',
$data, \LOCK_EX
)) { $e =
error_get_last();
throw new \
ErrorException($e['message'
] ?? 'Failed to write secrets data.', 0,
$e['type'
] ?? \E_USER_WARNING
);
} } private function createSecretsDir(): void
{ if ($this->secretsDir && !
is_dir($this->secretsDir
) && !@
mkdir($this->secretsDir, 0777, true
) && !
is_dir($this->secretsDir
)) { throw new \
RuntimeException(sprintf('Unable to create the secrets directory (%s).',
$this->secretsDir
));
}