我检查了Stackoverflow中的很多问题,但没有发现任何帮助。
我已调试错误
警告:openssl_sign():提供的密钥参数不能强制转换为私钥
它来自这一行:
$this->secret_key = openssl_pkey_get_private(
"file://$this->rootDir/config/jwt/private.pem", getenv('JWT_PASSPHRASE'));
我也尝试:
$file = file_get_contents("file://$this->rootDir/config/jwt/private.pem");
$this->secret_key = openssl_pkey_get_private($file, getenv('JWT_PASSPHRASE'));
如果我调试$file
,则会得到文件的完整内容。
但是当我运行openssl_pkey_get_private
时,我也会得到 FALSE 。
作为我们的docker(对于本地和devel服务器),它是debian,而登台服务器则是Ubuntu 18.04,因此我尝试为登台服务器创建新闻pem
文件,但遇到相同的错误。
你知道这是怎么回事吗?