8

I am happily using fabric for my Python projects for deployment. Now I am engaged in a larger PHP project and wondering if there is something like fabric for PHP?

Sgoettschkes
  • 13,141
  • 5
  • 60
  • 78
Crischan
  • 218
  • 2
  • 8
  • You might want to check out this question on Automated Deployment for PHP: http://stackoverflow.com/questions/425692/what-is-your-preferred-php-deployment-strategy – Boy Baukema Mar 04 '14 at 15:47

6 Answers6

11

Hmm? Why does it matter? Fabric is just python scripting. So it's project language agnostic. You can use it put anything on a server you'd use scp for, as well as script anything via ssh you'd use bash or [insert other tool here] for. Fabric really isn't Python's capistrano. It's more akin to a combining of both cap and rake, though I still think that's pigeonholing fabric's ability.

I do like the one stop recipe bits that cap and (from first look) weploy gives you for projects, as in fabric unless you're leveraging something like woven, you'll be rolling your own. But the customization ability of fabric is a plus to me, as I'm all over the place in my uses for it.

Morgan
  • 4,143
  • 27
  • 35
  • If ou dev team will be happy with Fabric, I'd be happy to use it. Especially as it can handle deployment. – Crischan Jan 17 '11 at 08:38
9

Rasmus Lerdorf have released kind of Capistrano for PHP : WePloy.

Maybe it will fits your needs

Boy Baukema
  • 2,908
  • 1
  • 27
  • 38
Xavier Barbosa
  • 3,919
  • 1
  • 20
  • 18
  • WePloy hasn't seen any activity for about 3 years and hasn't seen much uptake. – Boy Baukema Mar 04 '14 at 15:41
  • It looks like the code is simple enough you could get it to suit your needs pretty easily, though not nearly as robust as fabric. The `Host::exec` method looks useful as example code for sure. – quickshiftin Oct 30 '14 at 02:54
  • As the link in the answer doesn't seem to point to anything useful, here's the [github repo](https://github.com/rlerdorf/WePloy). But as mentioned, this project looks dead. – DanielM Jun 08 '15 at 13:09
4

Now we have Deployer for PHP, implemented in php, no special ext required, installation is downloading a deployer.phar, have deploy templates for popular frameworks. https://deployer.org/

Leric
  • 193
  • 1
  • 7
3

Laravel (a very popular and relatively young framework) has Envoy.

Nils Werner
  • 34,832
  • 7
  • 76
  • 98
1

If you're looking for a build tool (as opposed to deployment), you can use Phing (http://phing.info/), a PHP equivalent of Java's Ant.

Doesn't handle the tunnelling (running remote commands etc.) but does do a nice job of breaking up your deployment into tasks with chained dependancies, and being PHP can interact with your PHP libraries easilly. You might find that some simple cap or fabfiles for the actual deployment, and could then call a Phing script to handle the post-deployment configuration.

Andrew J
  • 1,951
  • 1
  • 14
  • 16
  • I'm currently using Phing. **Pros:** Works like Ant, doesn't need java, extensible in PHP. **Cons:** Works like Ant :p – DanielM Jun 08 '15 at 13:11
-1

Yes, you can use mysqlnd_ms

The mysqlnd replication and load balancing plugin (mysqlnd_ms) adds easy to use MySQL replication support to all PHP MySQL extensions that use mysqlnd.

As of version PHP 5.3.3 the MySQL native driver for PHP (mysqlnd) features an internal plugin C API. C plugins, such as the replication and load balancing plugin, can extend the functionality of mysqlnd.

The MySQL native driver for PHP is a C library that ships together with PHP as of PHP 5.3.0. It serves as a drop-in replacement for the MySQL Client Library (libmysqlclient). Using mysqlnd has several advantages: no extra downloads are required because it's bundled with PHP, it's under the PHP license, there is lower memory consumption in certain cases, and it contains new functionality such as asynchronous queries.

Mysqlnd plugins like mysqlnd_ms operate, for the most part, transparently from a user perspective. The replication and load balancing plugin supports all PHP applications, and all MySQL PHP extensions. It does not change existing APIs. Therefore, it can easily be used with existing PHP applications.

Anas Naguib
  • 1,006
  • 11
  • 12
  • I ran into this confusion myself, but the author is asking about [Fabric the Python remote execution library](http://www.fabfile.org/), not what you're referring to, which is [MySQL Fabric](https://www.mysql.com/products/enterprise/fabric.html). – cincodenada Jul 08 '15 at 17:42