3
Dezember
2020
Einrichten der PHP-Entwickler-Workstation
15:27

Einrichten der PHP-Entwickler-Workstation

3 Dezember 2020 15:27

Der Artikel widmet sich der Einrichtung eines Webservers, PDT in Eclipse, Composer und TWIG. Aktualisiert '2024!

Installation eines Webservers, PHP und MySQL

Unter Windows müssen Sie zunächst die fertige Distribution des XAMPP-Webservers herunterladen und installieren https://www.xampp.ru/, das MariaDB (ähnlich dem MySQL-Datenbankverwaltungssystem) und PHP 7.3.6 enthält.
Unter Linux können Sie Apache, MySQL und PHP installieren (
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server
), können Sie anstelle des Apache2-Webservers den in PHP integrierten Webserver verwenden (php -S localhost:8000).

Installieren der Eclipse-IDE und des PDT-Kits für die PHP-Entwicklung

Laden Sie dann unter Windows und Linux die Eclipse-IDE-Installationsdatei herunter. Nachdem Sie die Paket-Download-Seite aufgerufen haben https://www.eclipse.org/downloads/packages/ sie müssen die Version herunterladen „Eclipse IDE für Enterprise Java- und Webentwickler“ für Linux x86_64 (ca. 528 MB).

Eclipse-Web-Installer
Dateiname:eclipse-jee-(номер версии)-linux-gtk-x86_64.tar.gz. После загрузки, необходимо открыть файл с расширением .tar.gz в Xarchiver и извлечь его в папку /home/(имя пользователя)/opt с полным путём. Например: /home/vladimir/opt.

extrahieren

Oder führen Sie die Befehle aus, um Eclipse aus dem Archiv in den Ordner ~/opt zu extrahieren:

mkdir ~/opt
mkdir ~/eclipse-workspace
tar xf eclipse-jee-*-linux-gtk-x86_64.tar.gz -C ~/opt --warning=no-unknown-keyword

Bevor Sie mit der Installation von Eclipse beginnen, stellen Sie sicher, dass auf Ihrer Festplatte mindestens 2 GB freier Speicherplatz vorhanden sind.

Unter Windows müssen Sie zusätzlich eine kostenlose Java-Assembly im jre-Ordner installieren.

Achtung: Eine von Java.com heruntergeladene virtuelle JRE-Maschine funktioniert nicht. Muss von einer anderen Quelle heruntergeladen werden – Open JDK (https://jdk.java.net/15/- Windows x64).
Das heißt, wenn die Eclipse-Entwicklungsumgebung im Ordner C:\Eclipse installiert ist, legen Sie Java Open JDK im Ordner C:\Eclipse\jre ab

Unter Linux befindet sich die ausführbare Datei im Ordner /home/(Benutzername)/opt/eclipse/
Um Eclipse zu starten, erstellen und speichern wir unter Linux eine Verknüpfungsdatei Eclipse.desktop mit dem Inhalt:
[Desktop Entry]
Version=1.0
Type=Application
Name=Eclipse
Comment=
Exec=/home/user/opt/eclipse/eclipse
Icon=/home/user/opt/eclipse/icon.xpm
Path=/home/user/eclipse-workspace/
Terminal=false
StartupNotify=false

Oder erstellen Sie eine Verknüpfung in der GUI: Klicken Sie mit der rechten Maustaste und wählen Sie aus „Startsymbol erstellen“:
create_shortcut
Einstellmöglichkeiten für eine Verknüpfung:
eclipse_shortcut
Symbolbild: Wählen Sie die Datei im Ordner /home/username/opt/eclipse/ aus.icon.xpm.


Starten Sie Eclipse vom Desktop aus:
Eclipse-Symbol
Beim ersten Start bestätigen wir den Ordner zum Speichern von Eclipse-Workspaces-Dateien.

Um in PHP programmieren zu können, müssen Sie dem Menü in Eclipse Unterstützung für dynamische Sprachen DLTK und Erweiterungen für die Programmierung in PHP (PHP Development Tools – PDT) hinzufügen:

  • „Hilfe“ – „ Neue Software installieren " - " hinzufügen " - Name: " DLTK 6.4 „ – Speicherort: „https://download.eclipse.org/technology/dltk/updates-dev/6.4/“ – „Hinzufügen“ – auswählen „ Dynamic Languages Toolkit (DLTK)" - und schließen Sie die Installation ab: „Weiter“ – „Weiter“ – „Ich akzeptiere die Bedingungen …“ – „Fertig stellen“.
  • Eclipse-IDE neu starten – „Jetzt neu starten“
  • „Hilfe“ – „ Neue Software installieren " - " hinzufügen " - Name: " Updates 8.2 " - Speicherort: " https://download.eclipse.org/tools/pdt/updates/8.2/" - " hinzufügen " - " PHP-Entwicklungstools" - und schließen Sie die Installation ab: „Weiter“ – „Weiter“ – „Ich akzeptiere die Bedingungen …“ – „Fertig stellen“.
  • Eclipse-IDE neu starten – „Jetzt neu starten“

Wir schließen die PDT-Installation ab:„Hilfe“- "Eclipse-Marktplatz..." - im Textfeld „Suchen“ eintreten „PHP“, im nächsten Feld:„Eclipse-Projekt“ und Treten Sie ein(oder Knopf „Geh“).
Auswahl der PHP-Tools-Komponente

Wählen Sie dann den obersten, obligatorischen Punkt aus:„PHP-Entwicklungstools (PDT)“, die restlichen Kontrollkästchen können deaktiviert werden.
Wählen Sie die Komponente PHP Development Tools (PDT) aus

Nach dem Klicken „Bestätigen“ sie werden aufgefordert, die Eclipse-Lizenz zu akzeptieren: - Wählen Sie das gewünschte Element aus -„Ich akzeptiere“, „Fertig stellen“.
Zustimmung zur Eclipse-Lizenz – Ich akzeptiere, Fertig

Starten Sie Eclipse nach Abschluss der PDT-Installation neu.

(Optional) installieren Sie ein nützliches Plugin für die Twig-Template-Engine:

  • „Hilfe“ – „Eclipse Marketplace…“ – geben Sie im Textfeld „Suchen“ „Twig Plugin“ ein und drücken Sie die Eingabetaste. - "Installieren „- „Akzeptieren“ – „Fertig stellen“.

    [markieren](Последнее обновление - январь 2024)[/mark]



Composer installieren (zur schnelleren Installation von Frameworks)

  1. Erstellen Sie ein Composer-Installationsverzeichnis und entfernen Sie Spuren der vorherigen Installation
    sudo rmdir /usr/local/bin/composer
    sudo mv ~/.composer ~/.composer.old

  2. Erstellen Sie einen .composer-Ordner im Benutzerordner:
    mkdir ~/.composer

  3. Laden Sie das Composer-Installationsprogramm von der offiziellen Website herunter
    https://getcomposer.org/installer-> die Datei wird im Ordner „Downloads“ gespeichert.

  4. Benennen Sie die Installationsdatei um und bereiten Sie den Start vor
    cd ~/Загрузки
    mv installer ~/composer-setup.php
    cd ..

  5. Beginnen Sie mit der Installation und Aktualisierung von Composer mit zwei Befehlen:
    php composer-setup.php
    php composer.phar self-update


Erstellen Sie das erste Projekt und die PHP-Datei:

  • Erstellen Sie ein Projekt Datei – Neu – PHP-Projekt
  • Projektname - test

    Erstellen eines neuen PHP-Projekts in Eclipse über das Menü „Datei – Neu – PHP-Projekt“.

im Ordner /home/vladimir/workspace/test (durch Ihren ersetzen)
Wenn der Projektbaum nicht sichtbar ist, erweitern Sie ihn mit dem Projekt-Explorer.

Datei – Neu – PHP-Datei- Fügen Sie den Text aus dem Beispiel unten ein. (Dateiname -index.php).
Neue PHP-Datei

Eclipse einrichten

0..Dunkles Eclipse-Thema- Fenster - Einstellungen - Allgemein - Aussehen - Design aktivieren -Thema – Dunkel- Anwenden und schließen.

  1. Geben Sie den PHP-Speicherort an
    „Fenster“ – „Einstellungen“ – „PHP“ – „Installierte PHPs“ – „Hinzufügen“
    Name – PHP
    Standort Ausführungspfad -/usr/bin/php
    Knopf „Fertig stellen“.
    Angabe des installierten PHP

Die folgenden Einstellungen sind nicht korrekt und können geändert werden.

  1. Geben Sie den integrierten Webserver des PHP-Pakets an
    „Fenster“ – „Einstellungen“ – „PHP“ – „Server“
    Standardmäßig löschen
    Hinzufügen
    Servername- zum Beispiel irgendeins „localhost:8000“
    Basis-URL- http://localhost:8000
    Dokumentstammverzeichnis – /home/vladimir/workspace(durch deins ersetzen)

Beachten Sie, dass ich mich für die Ausführung auf Port 8000 entschieden habe, also habe ich den Wert angegeben „http://localhost:8000“.
Integrierter Webserver
Schaltfläche unten Als nächstes
Debugger – Keine
Schaltfläche unten Als nächstes
Pfadkartierung
*Hinzufügen

  • Pfad auf dem Server -/test
  • Pfad im Arbeitsbereich -testen
  1. In diesem Fall wird der Webserver php -S auf Port 8000 und im Stammverzeichnis gestartet /home/vladimir/workspace

[markieren]cd ~/workspace[/mark]
[markieren]php -S localhost:8000[/mark]

Dabei ist ~/workspace der Pfad zum PHP-Projektordner, den Sie durch Ihren eigenen ersetzen müssen.

!!Aufmerksamkeit! wenn Sie vergessen, den Befehl cd ~/workspace auszuführen (der in diesem Fall "Document root" ist), wird beim Ausführen von php -S ein 404-Fehler angezeigt:

404

!!Erklärung: der Projektordner muss ein Unterverzeichnis des Ordners sein „Dokumentstamm“. Wenn das Projekt in einem Unterordner eines anderen Ordners als „workspace“ gespeichert ist, korrigieren Sie das Feld „Dokumentstamm“. Im folgenden Beispiel heißt der Projektordner beispielsweise „eclipse-workspace“.

Server – Dokumentenstamm

Das Ergebnis der Ausführung im Terminal sollte folgendes sein:
„[Mo 17. April 16:59:14 2023] PHP 8.1.2-1ubuntu2.11 Development Server (http://localhost:8000) gestartet“

  1. Fenster – Einstellungen – PHP – Server
    Ändern Sie wie folgt:

Die erste Registerkarte – wir geben an, dass das Dokumentstammverzeichnis das gleiche ist wie für php -S, nämlich
/home/vladimir/workspace (durch den Pfad zum Projektordner ersetzen)
Satz1

Der dritte Reiter „Portzuordnungen“: Wir konfigurieren ihn nicht!
Speichern Sie die Einstellung und beenden Sie den Vorgang.

  1. Klicken Sie im Eclipse-Bedienfeld auf den Abwärtspfeil neben dem grünen Startsymbol „Ausführen“ – „Konfigurationen ausführen…“.
    Diese Einstellung soll die „Standard“-Start-PHP-Datei angeben, wenn „Run“ ausgeführt wird.

Wählen Sie den im vorherigen Absatz konfigurierten Server aus.

Wählen Sie im Projekt Ihr aus Haupt pHP-Datei zum Ausführen, Schaltfläche „Durchsuchen“.
select_file

Das Kontrollkästchen „Automatisch generieren“ muss aktiviert sein.
Automatisch generieren

Anwenden
klick Lauf(nicht schließen!)

Wenn der Webserver auf Port 8000 läuft, funktioniert der Webserver und die Seite wird angezeigt.
Wenn eine hastig erstellte Seite gestartet wurde <?php echo "Hello, world!";

Hallo Welt!

oder, wenn Sie die Datei index.php mit einer Twig-Vorlage ausführen (siehe am Ende des Artikels):

Ergebnis

Wenn die Seite nicht angezeigt wird, suchen Sie im Terminalfenster, in dem php -S ausgeführt wird, nach Fehlern.

Mögliche Fehler

PHP-Warnung: Unbekannt: Fehler beim Öffnen des Streams: Keine solche Datei oder kein solches Verzeichnis in „Unbekannt“ in Zeile 0. Schwerwiegender PHP-Fehler: Fehler beim Öffnen erforderlich
Lösung: Entfernen Sie den Pfadzuordnungsserver aus den Einstellungen.

[::1]:45720 [500]: GET /test/index.php – Ohne Klammern a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e) in /home/vladimir/workspace/test/vendor/twig/twig/lib/Twig/Node.php in Zeile 42

Lösung:Composer aktualisieren 1 vor Version 2.5.5 und Twig v2.4.8 vor Version v2.15.4, die mit PHP 8.1.2 kompatibel sind:

cd ~/workspace
sudo composer self-update --2
composer require "twig/twig:^2.0" 

In Zukunft starten wir index.php zur Anzeige, indem wir auf die grüne Schaltfläche „Ausführen“ klicken.

Einrichten des Code-Debuggings in Eclipse mit XDebug

1) Installieren Sie das xdebug-Paket über die Befehlszeile

sudo apt-get install php-xdebug

2) Finden Sie heraus, wo sich die Datei php.ini befindet:

<?php phpinfo();

3) Gehen Sie zu dem Ordner (der im vorherigen Absatz angezeigt wird).

cd /etc/php/8.1/cli/conf.d

Im Ordner conf.d sollte sich ein symbolischer Link befinden 20-xdebug.ini pro Datei
xdebug1

Wenn nicht, erstellen Sie es (der Pfad zum Ordner wird von der Funktion echo php_info() angezeigt:
sudo ln -s /etc/php/8.1/mods-available/xdebug.ini 20-xdebug.ini

Um xdebug zu konfigurieren, müssen Sie die Datei daher mit dem Befehl bearbeiten nano /etc/php/8.1/cli/conf.d/20-xdebug.ini, aber die Datei /etc/php/8.1/mods-available/xdebug.ini wird tatsächlich bearbeitet.

4) Zur Bearbeitung öffnen 20-xdebug.ini

sudo nano 20-xdebug.ini

5) Fügen Sie den folgenden Text zur Datei 20-xdebug.ini hinzu:

zend_extension=xdebug
xdebug.mode = debug
xdebug.start_with_request=yes

ДопVeröffentlichung vom 15. Juni 2023. Erweiterte Version der 20-xdebug.ini-Datei (xdebug.ini):

zend_extension=xdebug
;zend_extension=xdebug.so
;zend_extension=/usr/lib/php/20210902/xdebug.so
xdebug.mode=debug
;xdebug.remote_enable=1
xdebug.idekey="codeliteide"
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.client_port=9000
xdebug.start_with_request = ja
xdebug.discover_client_host=1

Hinweis: Wenn nach dem Ausführen des Webservers php -S localhost:8000 die Meldung „Xdebug kann nicht geladen werden – es wurde bereits geladen“ angezeigt wird, ignorieren Sie die Warnung.

Hinweis Nr. 2: Wenn die Ausführung während des Debuggens nicht stoppt und über den Haltepunkt hinausgeht, wie im Fall von „Ausführen“, überprüfen Sie die Datei „/etc/php/8.1/mods-available/xdebug.ini“ – sie sollte die Zeile zend_extension=xdebug oder zend_extension=xdebug.so enthalten, denn ohne sie funktioniert das Debuggen nicht.

(Ergänzung: Um das xdebug-Debugging zu deaktivieren, müssen Sie diese Zeilen entfernen (oder auskommentieren) und den folgenden Text in die Datei /etc/php/8.1/mods-available/xdebug.ini schreiben:xdebug.mode = none)

6) In der Entwicklungsumgebung Sonnenfinsternis fügen Sie der Datei index.php den folgenden Text hinzu:

<?php echo xdebug_info();

7) In den Einstellungen Fenster – Einstellungen – PHP – Debug klicken Sie auf die Zeile Xdebug- Knopf „Konfigurieren“
Eclipse Xdebug konfigurieren

8) Korrigieren Sie den Port von 9000 auf 9003.
XDebug Port 900 konfigurieren

9) Übernehmen – Übernehmen und schließen

10) Aktivieren Sie die „Debug“-Perspektive:

Fenster – Perspektive – Debug

(Oder klicken Sie auf die entsprechende Schaltfläche oben rechts auf dem Bildschirm).

11) Aktivieren Sie im Menü „Ausführen“ das Element „Debug-Konfigurationen…“ deren Einstellungen auf der ersten Registerkarte „Server“ mit „Konfigurationen ausführen…“ übereinstimmen.
Hier ist eine PHP-Datei zum Debuggen, die nach dem Ausführen von „Debug“ im Browser geöffnet wird.

Sie können die Debugger-Einstellungen auch in den „Globalen Einstellungen“ ändern.

  • Ausführen – Debug-Konfigurationen – Debugger – Konfigurieren – Globale Einstellungen – Debug-Port.

На Im zweiten Reiter „Debugger“ sollte XDebug ausgewählt werden, Port 9003 muss angegeben werden. Was oben in der INI-Datei 20-xdebug.ini angegeben wurde.

Wenn das Programm sich darüber beschwert, dass Port 9003 belegt ist: „Port wird bereits verwendet. Bitte wählen Sie in der entsprechenden PHP-Serverkonfiguration einen anderen Port für den Debugger aus (localhost:8000)“,
sie müssen php -S abschließen und Eclipse schließen. Gehen Sie dann im Terminal zum CD-Workspace-Ordner und führen Sie php -S localhost:8000 und Eclipse aus, wobei Sie Run - Debug (F11) wiederholen.

11) Starten Sie das Debuggen im Menü „Ausführen – Debuggen“.

Da wir zuvor in Absatz 6 die Funktion echo xdebug_info() zum Quelltext hinzugefügt haben;
Informationen zu Xdebug sollten angezeigt werden, wenn das Element aktiviert ist Schritt-Debugging.

12) Wir versuchen, einen Haltepunkt zu setzen und die Anwendung neu zu starten, indem wir auf die Schaltfläche „Stopp“ klicken, und starten dann das Debuggen über den Menüpunkt „Ausführen“ – „Debuggen (F11)“. Das Debuggen stoppt am Haltepunkt. Drücken Sie die Taste F6(„Übersteigen“)**. Der Webbrowser zeigt das Ergebnis an:
Ergebnis echo xdebug_info();

Grundlegende Hotkeys zum Debuggen (Debuggen):
F11- Debug (Debuggen starten)
F5- Step into (eine Methode oder Funktion eingeben)
F6- Stepover (eine Methode oder Funktion ausführen, ohne eine Unterroutine einzugeben)
F7- Schrittrückkehr (Exit-Methode, Funktion)
Strg+F11 ausführen (ohne Debuggen ausführen)
Strg+F2 beenden

Ergänzung ab 13.06.2023: um das Projekt ohne Debugging auszuführen – Ausführen – Ausführen (Strg+F11).
Damit es bei jedem Start nicht bei der ersten Zeile aufhört, in
Fenster – Einstellungen – Debuggen – Pause in der ersten Zeile deaktivieren Sie das Kontrollkästchen. Siehe Bild unten

Pause in der ersten Zeile – AUS

Tipp: Um Informationen über die installierte Version der xdebug-Erweiterung anzuzeigen, führen Sie eine Seite mit PHP-Code über einen Webserver im Ausführungs- oder Debug-Modus aus:echo xdebug_info();


Testdatei index.php für die Twig-Template-Engine

<?php
require_once './vendor/autoload.php';

$loader = new Twig_Loader_Filesystem ( './templates' );

$twig = new Twig_Environment ( $loader, array (
'cache' => './cache',
'auto_reload' => 'true',
'debug' => true
) );

$twig->addExtension ( new Twig_Extension_Debug () );

$data = Array (
'Benutzername1' => 'Petya',
'Benutzername2' => 'Vova'
);

$mas = [
'1-Karotte',
'2-Koriander',
'3-Gurken',
'4-Kürbis',
'5-Meerrettich'
];

echo $twig->render ( 'index.html', array (
'name' => 'Wolodja',
'visit' => '01.07.2018',
'data' => $data,
'mas' => $mas
) );

?>

Vorlage

Stück Vorlage

Testprojekt 2020 für Eclipse 2020-09:

(einschließlich PHP-Datei und Twig-Vorlage (für Composer 1.0 und Twig 2.4):
test.zip

2023 Testprojekt für Eclipse 2023-03:

(einschließlich PHP-Datei und Twig-Vorlage (für Composer 2.0 und Twig 2.15):
test2023.zip