Как поместить содержимое закрытого ключа в файл.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 ответ

Хорошо, мне удалось придумать метод обхода, как этот:

  1. Я заменил каждую новую строку двойными трубами: ||
  2. Когда я загружаю содержимое переменных среды через люмен 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-----"
Другие вопросы по тегам