Как поместить содержимое закрытого ключа в файл.env dotenv для приложения lumen?
Я хочу работать с SFTP-сервером в моем приложении lumen, и поэтому мне нужно сохранить закрытый ключ для доступа к SFTP-серверу в файле.env (dotenv)
Я попробовал этот подход:
SFTP_PRIVATE_KEY = "----- BEGIN RSA PRIVATE KEY ----- \ nHkVN9… \ n ----- END DSA PRIVATE KEY ----- \ n"
Когда я dd(env('SFTP_PRIVATE_KEY'));
Я получаю пустую строку обратно
Есть идеи как с этим бороться?
1 ответ
Хорошо, мне удалось придумать метод обхода, как этот:
- Я заменил каждую новую строку двойными трубами:
||
- Когда я загружаю содержимое переменных среды через люмен
env()
функция, я заменил его обратно на новые строки
например, мой .env
SFTP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----||HkVN9…||-----END DSA PRIVATE KEY-----||"
и вот как вы это используете:
$privateKey = env('SFTP_PRIVATE_KEY');
$privateKey = str_replace('||', PHP_EOL, $privateKey);
// Debug
echo '<pre>';
echo($privateKey);
exit;
Я проверил это, и теперь это работает, дайте мне знать, если есть лучший способ.
PHP dotenv версии 3 добавляет поддержку многострочных значений. Итак, теперь вы можете просто сделать это:
SFTP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
HkVN9…
-----END DSA PRIVATE KEY-----"