2016-05-23 9 views
1

Ich bin neu zu Chef und ich versuche, ein Chefrezept zu schreiben, das PHP 5.6 aus Software-Sammlung installieren wird.Wie Software-Sammlungssoftware zu aktivieren

Die Installationsschritte sind die folgenden:

// Step:1 
sudo yum install centos-release-scl //id Centos 
sudo yum-config-manager --enable rhel-server-rhscl-7-rpms //if RHEL 
// Step:2 
sudo yum install rh-php56 
// Step: 3 
scl enable rh-php56 bash 

Was ich bisher tat:

case node['platform'] 
when 'centos' 
    yum_package 'centos-release-scl' 
when 'rhel' 
    bash 'enable RHSCL' do 
    code 'sudo yum-config-manager --enable rhel-server-rhscl-7-rpms' 
    end 
end 

package 'rh-php56' 

execute 'software-collection' do 
    command 'scl enable rh-php56 bash' 
end 

Ich weiß nicht, warum der letzte Teil der rh-php56 von ermöglichen nicht funktioniert. Ich habe versucht mit Bash-Ressource, aber immer noch kein Ergebnis.

Prost.

Antwort

1

Das Problem, dass scl enable nur die Sammlung für den spezifischen Befehl ermöglicht, den Sie dort angeben (bash in Ihrem Beispiel). Es ist keine globale Einstellung. Sie müssen jeden PHP-Befehl mit scl enable voranstellen. Ich habe kein Kochbuch für PHP, aber sieh dir an, wie Poise-Ruby und Poise-Python mit SCLs umgehen, um ein Beispiel zu geben, wie man dies global innerhalb von Chef handhaben kann.