Dieser Artikel befasst sich mit dem Deployment von PHP Projekten. Hier erfahrt ihr, welche Gedanken man sich zum Deployment machen muss , welche Funktionalitäten benötigt werden und welche Tools zum Deployment eingesetzt werden können.

Grundlegende Gedanken zum Deployment

  • Fehler in PHP lassen sich einfach isolieren
  • Deployment findet über einfache Dateien statt: einfach aufspielen und die Anwendung läuft
  • minimale globale Abhängigkeiten
  • einfache Vervielfältigung der Anwendung durch Kopieren von Dateien
  • keine Notwendigkeit Administratoren zu involvieren
  • Funktionierende Anwendungen funktionieren

Welche Funktionalität benötigt man für ein Deployment?

  • Version Control System Unterstützung
  • Komprimierung
  • Protokollierung
  • Datenübertragung
  • Verschlüsselung für die Sicherheit
  • Schreiben/Änderung von Dateien (Konfigurationsdateien)
  • Paketmanager (deb, rpm, ebuild, pear, ...)/li>
  • Webservices (um Informationen abzufragen)
  • </ul>

    Mögliche Skripte, Techniken, die für das Deployment eingesetzt werden können:

    • PEAR Channels / PHP_Archive
    • Linux Paket Mananger (RPM, APT, ebuild)
    • Capistrano
    • eigene Shell Skripte (Bash, PHP, Python, ruby, ...)
    • Ant
    • SVN, GIT
    • Anwendungsspezifische Deployment Mechanismen
    • manueller Weg (FTP, SSH) - nicht wirklich empfehlenswert, aber dennoch sehr häufig verwendet.
    • Phar (ab PHP 5.3)

    PEAR Channels

    • Stabile und effektive Möglichkeit zur Verteilung/ Verwaltung von Paketen
    • PEAR kommt mit der Standardinstallation von PHP
    • Standartisiert durch das PHP PEAR Projekt
    • einfache Anwendung
    • erlaubt komplexe Abhängigkeiten
    • </ul>

      Linux Paket Manager

      Für die Auslieferung von PHP Projekten eignen sich auch Linux Paket Manager, wie Deb Pakete (Debian, Ubuntu), RPMs (Redhat, Centos, SuSE) oder ebuilds (Gentoo). Alle Paketmanager sind in der Lage Abhängigkeiten unter den einzelnen Paketen zu überprüfen. Mit den Einsatz von Repositories, mit deren man die Pakete zentral verteilen kann, eignet sich deren Einsatz auch besonders gut dafür, wenn das PHP Projekt mehrere Installationen benötigt (z.B. in einem Cluster).
      Vorteile
      • Paket Manager ist vorinstalliert
      • mächtiger Funktionsumfang
      Nachteile
      • Nicht für Windows geeignet
      • Distributionsabhängig

      Capistrano

      Capistrano ist in und für Ruby geschrieben, eignet sich aber auch für das Deployment von PHP Anwendungen.

      Phar (ab PHP 5.3)

      Ein Phar Archiv ist ein ausführbarer PHP Code, der mit einer Archivdatei (mit den Projektdataien) ergänzt werden kann. Dieses Konzept ist aus der Java Welt schon längst im Einsatz (dort werden diese Dateien JAR-Dateien genannt). Phar-Arichive lassen sich ab PHP Version 5.3 erzeugen, wenn in der php.ini die Einstellung: ``` phar.readonly = off ``` gesetzt wird (standardmäßig steht sie auf "on"). ### Projektmanagement Services, Deployment Coaching und Consulting Unser Projektmanagement Team aus München hat Experten für Drupal und PHP Projekte. Wir erstellen ein individuelles Konzept für das reibungslose Deployment Ihrer Plattform und helfen dabei, dieses in Ihrem Projekt umzusetzen.

Aktualisiert: