2011-01-12 7 views
7

Ich bin glücklich mit Fabric für meine Python-Projekte für die Bereitstellung. Jetzt bin ich in einem größeren PHP-Projekt beschäftigt und frage mich, ob es etwas wie Fabric für PHP gibt?PHP-Alternative für Pythons Stoff

+0

Sie können diese Frage auf die automatisierte Bereitstellung für PHP prüfen wollen: http://stackoverflow.com/questions/425692/what-is-your-preferred-php-deployment-strategy – RelaXNow

Antwort

11

Hmm? Warum spielt es eine Rolle? Fabric ist nur Python-Skripting. Also ist es Projektsprache agnostisch. Sie können es verwenden, alles auf einen Server zu setzen, für den Sie scp verwenden würden, sowie etwas über ssh zu schreiben, das Sie mit bash oder [anderen Tools hier einfügen] verwenden würden. Stoff ist wirklich nicht Pythons Capistrano. Es ist eher eine Kombination aus Cap und Rake, obwohl ich immer noch glaube, dass es sich um die Fähigkeit handelt, Stoffbahnen einzuordnen.

Ich mag die One-Stop-Rezept-Bits, die Kappe und (von Anfang an) weploy gibt Ihnen für Projekte, wie in Stoff, wenn Sie etwas wie gewebt, Sie werden Ihre eigenen rollen. Aber die Anpassungsfähigkeit von Stoff ist ein Plus für mich, wie ich überall in meinen Verwendungen dafür bin.

+0

Wenn dein Entwicklerteam mit Fabric zufrieden ist, würde ich es gerne verwenden. Vor allem, da es die Bereitstellung bewältigen kann. – Crischan

9

Rasmus Lerdorf haben eine Art Capistrano für PHP veröffentlicht: WePloy.

Vielleicht passt es Ihren Bedürfnissen

+0

WePloy nicht gesehen hat jede Aktivität seit etwa 3 Jahren und hat nicht viel Aufnahme gesehen. – RelaXNow

+0

Es sieht so aus, als ob der Code einfach genug ist, um ihn ziemlich einfach an Ihre Bedürfnisse anzupassen, obwohl er nicht annähernd so robust wie Stoff ist. Die 'Host :: exec'-Methode sieht sicher als Beispielcode aus. – quickshiftin

+0

Da der Link in der Antwort nicht auf etwas Nützliches hinweist, hier ist der [github repo] (https://github.com/rlerdorf/WePloy). Aber wie gesagt, dieses Projekt sieht tot aus. – DanielM

1

Wenn Sie nach einem Build-Tool (im Gegensatz zur Bereitstellung) suchen, können Sie Phing (http://phing.info/) verwenden, ein PHP-Äquivalent von Java's Ant.

Er kümmert sich nicht um das Tunneln (Ausführen von Remote-Befehlen usw.), tut aber gut daran, die Bereitstellung in Tasks mit verketteten Abhängigkeiten aufzuteilen und PHP kann mit Ihren PHP-Bibliotheken easilly interagieren. Sie könnten einige einfache Cap- oder Fab-Dateien für die tatsächliche Bereitstellung finden und dann ein Phing-Skript aufrufen, um die Konfiguration nach der Bereitstellung zu behandeln.

+0

Ich verwende derzeit Phing. ** Pros: ** Funktioniert wie Ant, benötigt kein Java, erweiterbar in PHP. ** Nachteile: ** Funktioniert wie Ant: p – DanielM

2

Laravel (ein sehr beliebtes und relativ junges Framework) hat Envoy.

+0

Latest: https://laravel.com/docs/5.3/envoy – spyle

-1

Ja, können Sie mysqlnd_ms

Die mysqlnd Replikation und Load-Balancing-Plugin (mysqlnd_ms) fügt einfach MySQL-Replikation Unterstützung für alle PHP-MySQL-Erweiterungen zu verwenden, die mysqlnd verwenden verwenden.

Ab Version PHP 5.3.3 verfügt der MySQL native Treiber für PHP (mysqlnd) über eine interne Plugin C API. C-Plugins wie das Replikations- und Load-Balancing-Plugin können die Funktionalität von mysqlnd erweitern.

Der native MySQL-Treiber für PHP ist eine C-Bibliothek, die zusammen mit PHP ab PHP 5.3.0 ausgeliefert wird. Es dient als Drop-In-Ersatz für die MySQL Client Library (libmysqlclient). Die Verwendung von mysqlnd hat mehrere Vorteile: Es sind keine zusätzlichen Downloads erforderlich, da es mit PHP gebündelt ist, unter der PHP-Lizenz steht, in bestimmten Fällen weniger Speicher benötigt wird und neue Funktionen wie asynchrone Abfragen enthalten.

Mysqlnd-Plugins wie mysqlnd_ms funktionieren größtenteils aus Benutzerperspektive transparent. Das Replikations- und Lastausgleichs-Plugin unterstützt alle PHP-Anwendungen und alle MySQL PHP-Erweiterungen. Es ändert die vorhandenen APIs nicht. Daher kann es problemlos mit bestehenden PHP-Anwendungen verwendet werden.

+0

Ich bin in diese Verwirrung selbst geraten, aber der Autor fragt nach [Fabric die Python Remote-Ausführungsbibliothek] (http://www.fabfile.org/), nicht das, worauf Sie sich beziehen, das ist [MySQL Fabric] (https://www.mysql.com/products/enterprise/fabric.html). – cincodenada

0

Jetzt haben wir Deployer für PHP, implementiert in PHP, keine spezielle ext erforderlich, Installation ist ein Deployer.phar herunterladen, haben Vorlagen für gängige Frameworks bereitstellen. https://deployer.org/