2016-04-05 45 views
0

PHP-Chefを使用してLaravelでシェフAPIに接続しようとしています。私は.chefフォルダのknife.rbから取得したデータでシェフ設定を設定しようとしました。 Knife.rbの指示に従って、セットアップクライアントとキーがあります。しかし、私は得る:Laravel openssl_private_encrypt():キーパラメータが有効な秘密キーではありません

openssl_private_encrypt(): key param is not a valid private key 

そして、私はdd($this->key)を行うときに、私のコントローラで私がお返しにnullを取得します。これは私のコントローラです:

protected $server; 
protected $client; 
protected $key; 
protected $version; 

public function ___construct() 
{ 
    $this->server = config('chef.server'); 
    $this->client = config('chef.client'); 
    $this->key = config('chef.key'); 
    $this->version = config('chef.version'); 
} 

/** 
* Get all dns records 
*/ 
public function index() 
{ 
    dd($this->key); 
    $chef = new Chef($this->server, $this->client, $this->key, $this->version); 

    // API request 
    $response = $chef->get('/'); 
    dd($response); 
} 

そして、これはちょうど私はそれが正しかったと思いますので、お答えするために、これを下にコピーする

return [ 
'server' => 'https://172.16.0.227:443/organizations/myOrganizationsName', 
'client' => 'chef-validator', 
'key'  => '/Users/myName/.chef/ORGANIZATION-validator.pem', 
'version' => '12.7.0', 
"enterprise" => false 
]; 
+0

私は少しのPHPを知っていますが、データを消毒したようですが、キーファイルが存在し、PHPによって読み取り可能であることを100%確信していますか? – coderanger

+0

実際にはパスが間違っていました。私は自分のプロジェクトをホームステッドに持っているので、ルートプロジェクトディレクトリにフォルダをコピーしてパスを変更しなければなりませんでした。 – Marco

答えて

1

私のconfig chef.phpされていますが、これは悪いキーパスまたはファイルのようなにおいPHPがキーデータを読み取ることができないようなパーミッション。

関連する問題