我想在我的 lumen 应用程序中使用 SFTP 服务器,因此我需要将私钥存储在 .env 文件 (dotenv) 中以访问 SFTP 服务器
我尝试了这种方法:
SFTP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nHkVN9...\n-----END DSA PRIVATE KEY-----\n"
当我dd(env('SFTP_PRIVATE_KEY'));
得到一个空字符串时
知道如何处理吗?
我想在我的 lumen 应用程序中使用 SFTP 服务器,因此我需要将私钥存储在 .env 文件 (dotenv) 中以访问 SFTP 服务器
我尝试了这种方法:
SFTP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nHkVN9...\n-----END DSA PRIVATE KEY-----\n"
当我dd(env('SFTP_PRIVATE_KEY'));
得到一个空字符串时
知道如何处理吗?
好的,我设法想出了一个像这样的解决方法:
||
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-----"