Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Dieser Leitfaden erklärt, wie Sie den Open-Source-Abhängigkeitsmanager Composer 2 mit einem SSH-Befehl ausführen.

 

Einleitung

  • Composer ist ein Open-Source-Abhängigkeitsmanager für PHP, mit dem Sie die für ein PHP-Projekt erforderlichen Bibliotheken definieren, installieren und aktualisieren können.
  • Composer 1 ist seit 2021 veraltet und kann seit 2025 keine neuen Pakete installieren oder Aktualisierungen durchführen.
  • Nur die Version 2 von Composer wird jetzt unterstützt und ist auf allen PHP-Versionen von 7.2 bis 8.3 verfügbar.

 

Composer 2 ausführen

Composer 2 ist bereits vorinstalliert und über SSH zugänglich. Es ist daher nicht erforderlich, es manuell zu installieren.

Einfache Verwendung

Melden Sie sich bei Ihrem Hosting über SSH an und verwenden Sie dann den folgenden Befehl:

composer

Dieser Befehl führt automatisch die Version 2 von Composer aus, die mit der in Ihrer Sitzung verwendeten PHP-Version kompatibel ist.

Aktive Version überprüfen

Sie können die verfügbare Composer-Version mit überprüfen:

composer --version

Beispielausgabe: Composer version 2.5.0 2022-12-20 10:44:08

Eine bestimmte PHP-Version erzwingen

Wenn Sie Composer mit einer bestimmten PHP-Version ausführen möchten, stehen Aliase zur Verfügung. Zum Beispiel:

composer_php8.1 --version

oder auch:

composer_php7.4

Diese Aliase ermöglichen die Ausführung von Composer 2 mit dem angegebenen PHP-Interpreter, was nützlich ist, um ein Projekt auf einer Ziel-PHP-Version zu testen oder zu deployen.


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie eine Datei angeben, die vor der gewünschten Seite oder zu Beginn jedes auf Ihrem Server ausgeführten PHP-Skripts geladen wird, als ob sie mit der Funktion require() aufgerufen worden wäre, jedoch globaler mit der PHP-Direktive auto_prepend_file.

 

Vorwort

  • Um beispielsweise die Header einer Website zu deklarieren, können Sie eine Datei headers.php erstellen, die PHP-Funktionen header() enthält und die zu Beginn jeder PHP-Datei hinzugefügt wird…
    • … über eine Datei .user.ini (eigen für ein Verzeichnis),
    • … oder über die Konfiguration der Website im Manager (global), wie unten beschrieben.

 

Eine Datei global vom Manager aus einbinden

Um auf die Verwaltung der Website zuzugreifen:

  1. Klicken Sie hier, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen, der der betreffenden Website zugewiesen wurde:
  3. Klicken Sie auf Erweiterte Einstellungen verwalten:
  4. Klicken Sie auf die Registerkarte PHP / Apache:
  5. Vervollständigen Sie die betreffende Zeile, indem Sie den Pfad der einzubindenden Datei eingeben.
  6. Klicken Sie auf die Schaltfläche Speichern unten auf der Seite:

 

Nach der Definition dieser Direktive werden alle PHP-Seiten auf Ihrem Server die angegebene Datei automatisch einbinden, bevor sie ihren eigenen Code ausführen.

Die in einer Datei .htaccess definierten Header gelten nur für nicht-PHP-Inhalte (also statisch).

Infomaniak verwendet php-fpm, das die verschiedenen Header über apache fast_cgi erhält. In der RFC von cgi_www gehört der Header Strict-Transport-Security nicht zu den über CGI übertragenen Headern, und die Apache-Dokumentation bestätigt dies. Nehmen Sie Kenntnis von dieser anderen RFC.


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie auf die Konfiguration einer Infomaniak-Website zugreifen, um technische Informationen wie die PHP-Version, Apache oder die aktivierten PHP-Erweiterungen und -Module anzuzeigen.

 

Technische Informationen der Website anzeigen

Um auf die Verwaltung der Website zuzugreifen:

  1. Klicken Sie hier, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen, der der betreffenden Website zugewiesen wurde:
  3. Klicken Sie auf Erweiterte Parameter verwalten:
  4. Nehmen Sie die Informationen der Website unter den Registerkarten Allgemein, PHP / Apache und PHP-Erweiterungen zur Kenntnis.
  5. Klicken Sie im linken Seitenmenü auf Datenbanken, um die MySQL-Version des Webhostings zu erhalten:

War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie die Variablen der PHP-CLI-Erweiterung ändern, die standardmäßig auf dem Infomaniak Cloud-Server verfügbar ist.

 

PHP_CLI-Variablen ändern

Um auf die PHP-Erweiterungen des Cloud-Servers zuzugreifen:

  1. Hier klicken, um auf die Verwaltung Ihres Cloud-Servers im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen des betreffenden Cloud-Servers.
  3. Klicken Sie im linken Seitenmenü auf PHP-Erweiterungen.
  4. Klicken Sie auf das Aktionsmenü rechts von PHP-CLI in der angezeigten Tabelle.
  5. Klicken Sie auf Konfigurieren:
  6. Ändern Sie die folgenden Variablen: allow_url_fopen, allow_url_include, memory_limit, max_execution_time, short_open_tag, allow_local_infile
  7. Klicken Sie auf die blaue Schaltfläche Speichern.

War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie die PHP-Funktion set_time_limit für ein Webhosting aktivieren oder deaktivieren.

 

Vorwort

 

PHP-Funktion set_time_limit aktivieren oder deaktivieren

Um auf die Websitesverwaltung zuzugreifen:

  1. Hier klicken, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen der betreffenden Website:
  3. Klicken Sie auf Erweiterte Parameter verwalten:
  4. Klicken Sie auf die Registerkarte PHP / Apache:
  5. Klicken Sie auf den Umschalter (toggle switch) Ein/Aus, wie gewünscht:
  6. Klicken Sie auf die Schaltfläche Speichern unten auf der Seite, um die Änderungen zu bestätigen.

War diese FAQ nützlich?

Dieser Leitfaden richtet sich an Entwickler und Webmaster, die Probleme mit der Anzeige von Sonderzeichen (z.B. Akzente, arabische Zeichen, chinesische Zeichen, Emojis, etc.) haben, sei es auf einer Infomaniak-Website oder in ihrer Datenbank.

 

Vorwort

  • Häufige Ursachen für falsch angezeigte Zeichen, die anstelle von Sonderzeichen oder Emojis erscheinen, wie ??:
    • PHP-Verbindung in utf8 anstelle von utf8mb4
    • MySQL-Tabelle oder -Spalte in latin1 oder utf8 anstelle von utf8mb4
    • SQL-Datei unterschiedlich vom Importparameter codiert
    • HTML/CSS/JS-Dateien falsch codiert
    • Fehlende oder falsche Deklaration des charset auf HTML-, PHP- oder HTTP-Seite
  • Gewöhnliche Lösungen:
    • Verwenden Sie utf8mb4 überall: Datenbank, Verbindungen, Tabellen, Spalten, Dateien, Header
    • Codierung aller Dateien und Dumps überprüfen
    • Anzeige von Emojis, Akzenten und anderen mehrsprachigen Zeichen testen
  • Nehmen Sie auch Kenntnis von diesem anderen Leitfaden, um eine andere Codierung bei der Verbindung zu einer MySQL-Datenbank zu erzwingen.

 

Verwenden Sie einen Texteditor, der das Speichern in UTF-8 ohne BOM unterstützt (Visual Studio Code, Sublime Text, Notepad++...)

 

1. Verwenden Sie UTF-8 oder UTF-8MB4 überall

Die MySQL-Codierung utf8 unterstützt keine 4-Bytes-Zeichen, wie Emojis. Diese werden als ?? angezeigt. Daher muss utf8mb4 verwendet werden, das eine echte vollständige Implementierung von UTF-8 ist.

 

2. HTML – Richtige Deklaration der Codierung

Im <head> Ihrer HTML-Seiten:

<meta charset="UTF-8">

Stellen Sie auch sicher, dass die CSS/JS-Dateien in UTF-8 (ohne BOM) gespeichert sind. 

 

3. PHP – UTF-8 oder UTF-8MB4 erzwingen

a) HTTP-Header

header('Content-Type: text/html; charset=utf-8');

b) MySQL-Verbindung (MySQL-API)

$connection = mysql_connect($host, $user, $pass);
mysql_set_charset('utf8mb4', $connection);

c) PDO-Verbindung

 $dsn = "mysql:host=localhost;dbname=ma_base;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $pass, [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);

 

4. MySQL-Datenbank

a) Konfiguration in phpMyAdmin

  • Datenbank, Tabellen und Spalten müssen in utf8mb4_unicode_ci oder utf8mb4_general_ci sein.
  • Im Reiter Operationen wählen Sie utf8mb4_unicode_ci für die Sortierung.

b) Nützliche SQL-Befehle

ALTER DATABASE ma_base CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE ma_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

c) Nach der PHP-Verbindung

mysqli_query($conn, "SET NAMES 'utf8mb4'");
mysqli_query($conn, "SET CHARACTER SET 'utf8mb4'");

 

5. Datei .user.ini / .htaccess

Um die Codierung auf der Serverseite (Apache) zu erzwingen:

AddDefaultCharset utf-8
Header set Content-Type "text/html; charset=utf-8"
# Pour PHP
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8

 

6. Import / Export von SQL-Dumps

Fehler wie é wird zu ? oder ein Emoji ☺ wird zu ?? stammen oft von einer Codierungsfehlausrichtung.

Überprüfen Sie die Codierung der SQL-Datei vor dem Import. Verwenden Sie iconv falls erforderlich:

iconv -f ISO-8859-1 -t UTF-8 dump.sql > dump_utf8.sql

In phpMyAdmin geben Sie die Importcodierung an (z.B. UTF-8, UTF-8MB4 oder latin1 je nach Datei).


War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie HSTS deaktivieren oder konfigurieren für eine Website.

 

Vorwort

  • Wenn HSTS für eine Website aktiviert ist, weist der Server den Website-Besucher (sofern sein Webbrowser kompatibel ist) an, alle unsicheren Links durch sichere Links zu ersetzen.
  • Beispiel: http://www.domain.xyz.com/one/page/ wird automatisch durch https://www.domain.xyz/one/page/ ersetzt.
  • Nach der Aktivierung eines SSL-Zertifikats für eine Website wird HSTS wie folgt konfiguriert: max-age=16000000.

 

HSTS deaktivieren…

 

… mit einem CMS (WordPress, Joomla, etc.)

In allen vom CMS generierten Seiten die folgende Zeile einfügen:

header( 'Strict-Transport-Security: max-age=0;' );

Für WordPress können Sie beispielsweise diese Direktive in die Datei functions.php Ihres Themas einfügen:

add_action( 'send_headers', 'add_header_xua' );
function add_header_xua() {
header( 'Strict-Transport-Security: max-age=0;' );
}

Mehr Details zu WordPress

 

… mit einer PHP-Website

In allen php-Seiten die folgende Zeile einfügen:

header( 'Strict-Transport-Security: max-age=0;' );

Um dies zu tun, ohne jede php-Seite einer Website zu ändern, können Sie die Direktive auto_prepend_file in der Datei .user.ini der betreffenden Website verwenden:

auto_prepend_file=/home/clients/xxxx/web/hsts_disable.php

... mit der Datei hsts_disable.php:

header( 'Strict-Transport-Security: max-age=0;' );

 

… mit einer Website mit statischem Inhalt (nicht PHP)

Diesen Header in eine Datei .htaccess einfügen:

# BEGIN DISABLE HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=0; includeSubDomains;"
</IfModule>
# END DISABLE HSTS

 

HSTS anpassen

Der Standardwert kann in Ihren php-Dateien Ihrer Website mit der folgenden Direktive geändert werden:

header( 'Strict-Transport-Security: max-age=X; includeSubdomains; preload' );

(X ist die gewünschte Anzahl an Sekunden).

 

HSTS für alle gehosteten Subdomains aktivieren

includeSubDomains; ist standardmäßig aktiviert und wie der Name schon sagt, schließt es die Subdomains in die "Strict Transport Security" ein.

Wenn der Besucher eine unsichere Subdomain besucht, leitet der Browser automatisch auf HTTPS um und löst einen Sicherheitsfehler aus.

Wenn dieses Verhalten nicht gewünscht ist, muss dieser Header entfernt werden.

 

HSTS-Cache des Browsers löschen…

… in Chrome

  1. In Chrome, geben Sie chrome://net-internals/#hsts ein.
  2. Geben Sie den Domainnamen im Textfeld des Abschnitts "Domain Security Policies löschen" ein.
  3. Klicken Sie auf die Schaltfläche Löschen.
  4. Geben Sie den Domainnamen im Textfeld des Abschnitts "HSTS abfragen" ein.
  5. Klicken Sie auf die Schaltfläche Abfragen.
  6. Die Antwort muss "Not found" (nicht gefunden) sein.

… in Safari

  1. Mit Safari beginnen Sie damit, den Browser zu schließen.
  2. Löschen Sie die Datei ~/Library/Cookies/HSTS.plist.
  3. Öffnen Sie Safari erneut.

… in Firefox

  1. Mit Firefox schließen Sie alle Registerkarten.
  2. Öffnen Sie das Firefox-Menü und klicken Sie auf Verlauf / Verlauf anzeigen.
  3. Suchen Sie die Seite, deren HSTS-Einstellungen Sie löschen möchten.
  4. Klicken Sie mit der rechten Maustaste auf einen der entsprechenden Einträge.
  5. Wählen Sie Diese Seite vergessen.

War diese FAQ nützlich?

Dieser Leitfaden erklärt, wofür die Option "MySQL-Präfix" in den Parametern einer Website dient und welche Auswirkungen sie auf die Funktionsweise Ihrer Webanwendungen (CMS) und PHP-Skripte hat.

 

Vorwort

  • Wenn die Option "MySQL-Präfix" für eine Website aktiviert ist, müssen Sie das Präfix "wxyz_" nicht mehr vor den Namen und die Benutzer Ihrer MySQL-Datenbanken hinzufügen.
  • Ein PHP-Skript kann sich somit mit dem Benutzer "monuser" und einer Datenbank "mabase" mit MySQL verbinden, und der Zugriff erfolgt automatisch mit dem Benutzer "wxyz_monuser" und der Datenbank "wxyz_mabase".
  • ⚠ Wenn Sie eine Migration von einem alten Infomaniak-Angebot durchführen:
    • Nach der Migration einer Website von der alten Konsole ist die Option "MySQL-Präfix" standardmäßig aktiviert, um die Verbindung Ihrer Webanwendungen (WordPress, Joomla, Drupal usw.) und PHP-Skripte mit Ihren MySQL-Datenbanken automatisch aufrechtzuerhalten.
    • Um die ordnungsgemäße Funktion Ihrer Websites im Falle einer Migration Ihres Hostings auf einen anderen Server sicherzustellen, wird dringend empfohlen, diese Funktion zu deaktivieren und die damit verbundenen Anpassungen vorzunehmen.

 

MySQL-Präfix-Option verwalten

Weitergehen mit den Umgebungsvariablen

Es ist möglich, Umgebungsvariablen direkt über den Manager für Ihre gesamte Website zu konfigurieren:

  1. Hier klicken, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen der betreffenden Website:
  3. Klicken Sie auf Erweiterte Einstellungen verwalten:
  4. Klicken Sie auf die Registerkarte PHP / Apache:
  5. Schalten Sie den Umschalter (toggle switch) MySQL-Präfix ein oder aus:
  6. Klicken Sie auf die Schaltfläche Speichern unten auf der Seite.
  7. Führen Sie die notwendigen Anpassungen in den Konfigurationsdateien Ihrer Webanwendungen und PHP-Skripte durch…

 

Auswirkungen und durchzuführende Anpassungen

Nach dem Deaktivieren der Option MySQL-Präfix für eine Website können einige PHP-Skripte oder CMS möglicherweise nicht mehr funktionieren.

Um die Verbindung zu Ihren Datenbanken wiederherzustellen, müssen Sie die folgenden Informationen in der (den) Konfigurationsdatei(en) der betroffenen Skripte unbedingt aktualisieren:

  • Der Name der MySQL-Datenbank: Sie müssen das Präfix Ihres Servers hinzufügen
    • vorher: dbname
    • nachher: wxyz_dbname
  • Der Benutzer der MySQL-Datenbank: Sie müssen das Präfix Ihres Servers hinzufügen
    • vorher: dbuser
    • nachher: wxyz_dbuser

War diese FAQ nützlich?

Dieser Leitfaden bietet grundlegende Anweisungen zum Erstellen und Verwenden einer .htaccess- und .user.ini-Datei mit einem Infomaniak Webhosting.

 

Einleitung

  • Eine .htaccess-Datei wird im Stammverzeichnis einer Website platziert und ermöglicht die Konfiguration des Apache HTTP-Servers.
    • Als dezentrale Konfigurationsdatei bietet sie eine hohe Flexibilität, um das Verhalten des Servers an die spezifischen Bedürfnisse der Website anzupassen.
    • Mit dieser Datei können URL-Rewrite-Regeln definiert, Zugriffsbeschränkungen erzwungen, HTTP-Fehler verwaltet und sogar Sicherheitsaspekte wie die Deaktivierung der Dateianzeige angepasst werden.
    • Sie erleichtert auch die Einrichtung von Weiterleitungen und Aliasen und bietet so eine präzise Kontrolle über die Organisation und Zugänglichkeit der Website.
  • Eine .user.ini-Datei ermöglicht die Anpassung der PHP-Direktiven des Ordners (und seiner Unterordner), in dem sie sich befindet.
    • Durch die Beeinflussung auf der Ebene des PHP-Interpreters ermöglicht diese Datei die Definition spezifischer Konfigurationen für einen bestimmten Ordner und seine Unterverzeichnisse.
    • Dank ihrer klaren Syntax bietet sie die Möglichkeit, verschiedene Parameter wie das Speicherlimit, die Skriptausführungszeit, die Fehlerbehandlung und andere PHP-bezogene Direktiven zu ändern.
    • Dieser granulare Ansatz ermöglicht es Entwicklern, das Verhalten von PHP fein auf die spezifischen Anforderungen jedes Abschnitts der Website abzustimmen.

 

Eine Datei erstellen…

 

.htaccess

  1. Melden Sie sich über FTP oder SSH bei Ihrem Hosting an.
  2. Erstellen Sie im Stammverzeichnis der betreffenden Website eine neue Datei und geben Sie ihr den folgenden Namen: .htaccess.
  3. Fügen Sie die gewünschten Direktiven in die Datei ein. Informieren Sie sich beispielsweise in dieser anderen Anleitung.

 

.user.ini

  1. Verbinden Sie sich über FTP oder SSH mit Ihrem Hosting-Konto.
  2. Erstellen Sie an der gewünschten Stelle eine neue Datei und geben Sie ihr den folgenden Namen: .user.ini.
  3. Fügen Sie die gewünschten PHP-Konfigurationseinstellungen in die Datei ein.

Die Änderung der Datei .user.ini benötigt einige Minuten, um wirksam zu werden.


War diese FAQ nützlich?

Dieser Leitfaden behandelt IonCube Loader, ein PHP-Modul, das das Dekodieren von PHP-Skripten ermöglicht, die mit IonCube Encoder codiert wurden.

 

Vorwort

  • IonCube-Codierung wird verwendet, um den Quellcode einer Anwendung zu schützen und dessen Änderung oder illegale Verteilung zu verhindern.
  • Mit IonCube Loader können Website-Besitzer die Sicherheit ihres Codes und Inhalts gewährleisten, während sie eine sichere und einfache Verteilung ihrer Anwendungen ermöglichen.

 

IonCube Loader verwenden

Mit einer Shared-Hosting-Umgebung wird es nicht mehr angeboten. Sie können dies im Dashboard überprüfen:

  1. Klicken Sie hier, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen, der der betreffenden Website zugewiesen wurde:
  3. Klicken Sie auf Erweiterte Einstellungen verwalten:
  4. Klicken Sie auf die Registerkarte PHP-Erweiterungen.
  5. Klicken Sie auf ionCube Loader (falls in der Liste vorhanden), um die Details zu sehen:
    • Hier müssen Sie also einen Cloud-Server in Betracht ziehen.

War diese FAQ nützlich?

Dieser Leitfaden beschreibt das Senden von E-Mails von einer bei Infomaniak gehosteten Website unter Verwendung der standardmäßig deaktivierten PHP-Funktion mail().

 

Vorwort

  • Infomaniak rät dringend davon ab, die PHP-Funktion mail() zum Senden von E-Mails von Ihren Anwendungen zu verwenden:
    • Die E-Mails werden als „nicht authentifiziert“ betrachtet und unterliegen daher Einschränkungen.
    • Ihre Zustellbarkeit wird beeinträchtigt, was Ihrer Website schaden kann.
  • Es wird dringend empfohlen, eine authentifizierte SMTP-Sendemethode für das Senden von E-Mails von Ihren Anwendungen zu verwenden; Infomaniak bietet hierfür einen entsprechenden Dienst.

 

Absenderadresse angeben

Damit die Nachrichten korrekt von Ihrem CMS/Webanwendung gesendet werden (und ein Fehler wie Could not instantiate mail function oder sender mismatch vermieden wird), müssen Sie eine gültige Adresse in den Infomaniak-Seiteinstellungen angeben:

  1. Hier klicken, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen der betreffenden Website:
  3. Klicken Sie auf Erweiterte Einstellungen verwalten:
  4. Geben Sie im Tab Allgemein eine bestehende E-Mail-Adresse im Feld E-Mail des Absenders ein.
  5. Klicken Sie auf die blaue Schaltfläche Speichern:

 

Mail-Funktion wieder aktivieren

Wenn Sie die PHP-Mail-Funktion dennoch verwenden möchten, müssen Sie diese auf jeder der Websites Ihres betreffenden Webhostings aktivieren:

  1. Hier klicken, um auf die Verwaltung Ihrer Website im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie direkt auf den Namen der betreffenden Website:
  3. Klicken Sie auf Erweiterte Einstellungen verwalten:
  4. Klicken Sie auf die Registerkarte PHP / Apache:
  5. Aktivieren Sie die Funktion mail:
  6. Klicken Sie auf die Schaltfläche Speichern unten auf der Seite, um die Änderungen zu bestätigen.

 

PHP mail()-Beispiele…

 

… auf WordPress

Konfigurieren Sie das Senden des standardmäßigen Kontaktformulars, das mit dem Divi-Builder enthalten ist:

  1. Melden Sie sich beim WordPress-Administrationsbereich an.
  2. Gehen Sie zum Divi-Editor der Seite, die das Kontaktformular enthält.
  3. Klicken Sie auf das Symbol Einstellungen , um das Divi-Kontaktformular zu konfigurieren:
  4. Unter E-MAIL die E-Mail-Adresse eingeben, die die Formularsendungen erhält, und speichern:
  5. Standardmäßig, wenn ein Besucher das Formular verwendet, um Sie zu kontaktieren, erhalten Sie eine E-Mail von mail@le-nom-de-votre-site und wenn Sie antworten, ist der Empfänger automatisch die E-Mail-Adresse, die der Besucher beim Ausfüllen des Kontaktformulars angegeben hat.

 

… auf Prestashop

Gehen Sie zu den erweiterten Einstellungen von Prestashop:

  1. Geben Sie den SMTP-Modus an.
  2. Geben Sie localhost als Server ein.
  3. Geben Sie den Port 25 ein.
  4. Geben Sie weder Benutzername noch Passwort an.

 

… auf Joomla

Konfigurieren Sie das Senden von E-Mails über PHPmail (nicht empfohlen) in Joomla:

  1. Melden Sie sich beim Administrationsbereich Ihrer Joomla-Website an.
  2. Gehen Sie zu Konfiguration und dann zu Server.
  3. Schreiben Sie NICHTS in das Feld Website-E-Mail:

Leider verhindert dies jeden Testversand über die Schaltfläche, aber es funktioniert, wenn Sie ein Kontaktformular auf Ihrer Website konfigurieren. Klicken Sie auf Speichern, nachdem Sie das Feld leer gelassen haben.

 

Antwortadresse PHP mail()

Beim Senden einer E-Mail mit der PHP-Funktion mail() wird der return-path in der Form root@h2web3.infomaniak.ch beispielsweise eingetragen. Der Header Reply-To:, der im Code Ihres Formulars vorhanden ist, ermöglicht jedoch die Angabe einer gültigen Antwortadresse.


War diese FAQ nützlich?

Jelastic Cloud Infomaniak ist eine der umfassendsten und flexibelsten PaaS-Lösungen auf dem Markt.

 

Vorwort

  • Node.js = offizieller Name der Sprache/Umgebung.
  • NodeJS = "technischer" oder vereinfachter Name in bestimmten Kontexten (oft aus praktischen Gründen, kein echter technischer Unterschied).

 

Unterstützte Sprachen

Sie können Anwendungen Java, PHP, Ruby, Node.js, Python und Go bereitstellen, ohne Ihren Code anpassen zu müssen, indem Sie Docker, Kubernetes, GIT, SVN oder integrierte Erweiterungen wie Maven, Ant, Eclipse, NetBeans oder IntelliJ IDEA verwenden.

Unterstützte SQL- und NoSQL-Datenbanken

MariaDB, MongoDB, MySQL, Postgre, Redis, Neo4j, Cassandra, OrientDB, PerconaDB, CouchDB, Couchbase.

Unterstützte Anwendungsserver

Tomcat, TomEE, Jetty, GlassFish, Payara, Apache PHP, Apache Ruby, Apache Python, NGINX PHP, NGINX Ruby, NodeJS, JBoss, SmartFoxServer, SpringBoot, WildFly, Golang.

Unterstützte Load Balancer

NGINX, Apache Balancer, HAProxy, Varnish.


War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie den Wert max_children auf einem Cloud-Server erhöhen, um die Anzahl der gleichzeitigen PHP-Prozesse zu erhöhen, die von Ihrer Website verwendet werden können. Dies wird sehr nützlich sein, um Probleme mit dem endlosen Laden der Seiten Ihrer Website zu beheben.

 

Vorwort

  • Standardmäßig ist die Grenze von max_children auf allen Hostings auf 20 festgelegt.
    • Obwohl es möglich ist, diesen Wert über den Infomaniak Manager zu erhöhen, wird die Grenze von max_children automatisch basierend auf der Konfiguration Ihres Cloud-Servers angepasst.
    • Um diese Grenze auf einem Shared Hosting zu erhöhen, migrieren Sie zu Cloud-Server.
  • Um zu verstehen, wie Sie die benötigten max_children am genauesten berechnen können, lesen Sie diesen Artikel zu diesem Thema.

 

Erhöhung des max_children-Werts

Voraussetzungen

  • Stellen Sie sicher, dass Sie über die notwendigen Ressourcen auf dem Cloud-Server verfügen.
  • Stellen Sie sicher, dass alle Ressourcen des Cloud-Servers nicht verwendet werden; wenn sich herausstellt, dass diese vollständig verwendet werden, hat die Erhöhung des Werts max_children keine Wirkung (Ressourcen des Cloud-Servers ändern).
  • Überwachen Sie die Ressourcen Ihres Servers, falls die Ressourcen Ihres Servers erreicht sind, ist es notwendig, die Optimierung der Prozesse und Ihrer Website zu überprüfen, bevor Sie den Wert max_children erhöhen.
  • Überprüfen Sie die PHP-Fehlerberichte aus dem Ordner /ik-logs (Master-Prozess-PHP-Protokolle - Dateiname: php-fpm.log), um zu überprüfen, ob die Grenze "max_children" überschritten wurde... Beispiel für einen Fehler: [05-Jul-2024 09:08:58] WARNING: [pool www.infomaniak.ch] server reached max_children setting (20), consider raising it

Um auf die Verwaltung der Parameter PHP / Apache der Website zuzugreifen, für die der Wert max_children auf Cloud-Server erhöht werden muss, lesen Sie diesen anderen Leitfaden.

Sie können insbesondere...

  • … einen neuen Wert für max_children auswählen:

Vergessen Sie nicht, die Änderungen unten auf der Seite zu speichern.

 

Grenzen je nach Server

Grenze der max_children je nach Ressourcen des Cloud-Servers:

Cloud-Server-Konfigurationmax_children
2 CPU / 6 GB RAM20
4 CPU / 12 GB RAM40
6 CPU / 18 GB RAM60
8 CPU / 24 GB RAM80
12 CPU / 36 GB RAM120
16 CPU / 48 GB RAM160
24 CPU / 72 GB RAM240
32 CPU / 96 oder 128 GB RAM320

War diese FAQ nützlich?

Dieser technische Leitfaden beschreibt die Ressourcengrenzen für die Webhosting-Dienste von Infomaniak. Es ist wichtig, die Echtzeit (Uhrzeit) von der Rechenzeit (Prozessor) zu unterscheiden, um die Ursachen von Skriptunterbrechungen zu verstehen.

 

1. MySQL-Verbindungszeit (I/O)

Grenze: 30 Sekunden Echtzeit

Diese Grenze entspricht der absoluten verstrichenen Zeit "auf die Sekunde genau". Sie betrifft die Kommunikation zwischen PHP und dem Datenbankserver (MySQL/MariaDB).

Sobald eine Verbindung geöffnet wird, reserviert der Datenbankserver maximal 30 Sekunden, um die Anfrage zu empfangen, auszuführen und die Ergebnisse zurückzusenden. Wenn diese Frist überschritten wird (oft aufgrund einer schlecht optimierten SQL-Anfrage), trennt der MySQL-Server die Verbindung abrupt. Dies löst in der Regel den Fehler MySQL server has gone away aus.

 

2. PHP-Verarbeitungszeit (CPU)

Grenze: 10 Sekunden CPU

Diese Grenze betrifft ausschließlich die Rechenleistung, die vom Webserver für die Ausführung des PHP-Codes verbraucht wird.

Es ist wichtig zu beachten, dass die Wartezeit nicht zählt. Wenn PHP auf eine Antwort der Datenbank wartet, ist es in der Pause und verbraucht fast keine CPU-Zeit. Daher wird ein Skript nur dann vom Webserver unterbrochen, wenn es intensive Berechnungen (komplexe Schleifen, Kryptographie, Dateiverarbeitung) über mehr als 10 Sekunden kumuliert durchführt.

 

Wechselwirkung der beiden Grenzen

Um die Stabilität der Anwendung zu gewährleisten, muss jede Operation gleichzeitig diese beiden unterschiedlichen Einschränkungen einhalten:

  • Die Anwendung verfügt über 30 Sekunden Gesamtzeit, um mit der Datenbank zu interagieren (Netzwerklatenz + SQL-Ausführung).
  • Die Anwendung verfügt über 10 Sekunden reine Rechenzeit, um die empfangenen Daten zu verarbeiten.

Beispiel für eine gültige Funktion: Ein Skript, das 25 Sekunden auf eine komplexe Antwort von MySQL (I/O) wartet und dann das Ergebnis 2 Sekunden lang verarbeitet (CPU), funktioniert einwandfrei, da es keine der beiden individuellen Quoten überschritten hat, obwohl die Gesamtzeit 27 Sekunden beträgt.


War diese FAQ nützlich?

Dieser Leitfaden bezieht sich auf Laravel, ein Open-Source-Web-Framework, das in PHP geschrieben ist und das Modell-Ansicht-Controller-Prinzip (MVC) befolgt. Nehmen Sie auch Kenntnis von ihrer Dokumentation.

 

Voraussetzungen

 

Installation von Laravel 11

Dafür:

  1. Melden Sie sich über SSH auf dem Server an (Hilfe benötigt?).
  2. Navigieren Sie in das Verzeichnis der Website, indem Sie den Befehl „cd pfad-zur-website“ ausführen (z.B. cd sites/laravel.domain.xyz).
  3. Erstellen Sie ein neues Projekt, indem Sie den Befehl composer create-project laravel/laravel example-app ausführen.
  4. Bearbeiten Sie die Datei .env an der Wurzel des Hostings, um die Verbindungsparameter zur neuen Datenbank zu aktualisieren:
    • DB_CONNECTION=mysql
    • DB_HOST=xxxx.myd.infomaniak.com
    • DB_PORT=3306
    • DB_DATABASE= der Name der MySQL-Datenbank (xxxx_newbdd)
    • DB_USERNAME= der MySQL-Benutzer mit den Rechten an dieser Datenbank
    • DB_PASSWORD= sein Passwort
  5. Navigieren Sie in das Projektverzeichnis und veröffentlichen Sie über SSH:
    cd example-app
    php artisan migrate
  6. Ändern Sie das Zielverzeichnis, um es auf das Unterverzeichnis „public“ des Projekts zu richten, hier /sites/laravel.domain.xyz/example-app/public.

War diese FAQ nützlich?

Dieser Leitfaden erklärt die Funktionsweise, Konfiguration und Verwaltung von ModSecurity auf den Infomaniak-Servern.

 

Einleitung

  • ModSecurity (mod_secure) ist standardmäßig verfügbar und aktiviert auf den Infomaniak-Servern:
    • Alle HTTP-Anfragen werden den von ModSecurity definierten Sicherheitsregeln unterzogen.
    • Die PHP-Erweiterung uploadprogress ist auf den Infomaniak-Servern nicht verfügbar, da PHP in seiner FPM-Version verwendet wird.
  • Es ist nicht möglich, ModSecurity auf den Infomaniak-Servern zu deaktivieren:
    • Die Einstellung gilt global für den Server, auf dem Ihre Website gehostet wird, was bedeutet, dass alle definierten Sicherheitsregeln auf Ihre Website angewendet werden.

 

Bei Problemen

Sprachfehler im Browser (Code 403)

Wenn die Fehlermeldung ModSecurity: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. (...) in Bezug auf ModSecurity angezeigt wird, sollten Sie überprüfen, ob in Ihrem Webbrowser eine Standardsprache korrekt konfiguriert ist. Dieser Fehler kann manchmal durch falsch konfigurierte Spracheinstellungen im Browser verursacht werden.

Warnung "Request body larger than configured limit"

Wenn Sie Meldungen bezüglich des Fehlers oder der Warnung Request body larger than configured limit sehen, beachten Sie, dass es sich hierbei nur um eine Warnung handelt – die Anfrage wird trotzdem verarbeitet und nicht blockiert. Diese Konfiguration ist spezifisch für bestimmte ältere Hosting-Generationen (vom Typ jessie) und lässt alle Anfragen auf dem Server ohne Auswirkungen für Ihre Besucher zu.


War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie den Wert der PHP-Richtlinie include_path ändern.

 

Ändern des include_path

Wie jeder andere PHP-Parameter wird include_path in der Datei .user.ini definiert.

Hier ist ein Beispiel für einen Pfad, der in Ihrer Datei .user.ini verwendet werden kann:

include_path = ".:/home/clients/123456789a12345b12fc345d/web/www.domain.xyz/include"
  • Der Punkt (.) am Anfang ermöglicht es, das aktuelle Verzeichnis in der Suche zu behalten.
  • Der Doppelpunkt (:) dient als Trennzeichen zwischen den verschiedenen Ordnern.

Nehmen Sie sich die Zeit, diesen anderen Leitfaden über phpinfo zur Kenntnis, um die Berücksichtigung Ihrer neuen Richtlinie zu überprüfen (die Änderung kann einige Minuten in Anspruch nehmen, um angezeigt zu werden).

Obwohl diese Methode weiterhin funktioniert, wird heute derautoloader von Composer bevorzugt für das Management von Inklusionen.


War diese FAQ nützlich?

Dieser Leitfaden bezieht sich auf Redis, ein PHP-Modul für Infomaniak Cloud Server.

 

Vorwort

  • Redis wird mit PHP verwendet, um die Leistung zu verbessern, indem es als Cache für temporäre Daten dient und Benutzersitzungen verwaltet, wodurch die Effizienz von Webanwendungen verbessert wird.
  • Redis ermöglicht auch die Implementierung von Warteschlangensystemen und die temporäre Speicherung von Daten für asynchrone Aufgaben oder Statistiken.

 

Redis installieren

Redis wird über Fast Installer installiert, die Anwendungen sind in wenigen Klicks auf dem Cloud-Server verfügbar:

  • Nach der Installation ist Redis über die IP/den Port localhost:6379 oder 127.0.0.1:6379 zugänglich
  • Das Passwort für Redis muss zwischen 15 und 99 Zeichen lang sein (einschließlich).

War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie Memcached verwalten und insbesondere feststellen können, ob dieses In-Memory-Caching-System auf Ihrem Managed Cloud Server ordnungsgemäß funktioniert.

 

Voraussetzungen

 

Überprüfen Sie die Ausführung von Memcached

Um die ordnungsgemäße Funktion von Memcached zu überprüfen:

  1. Kopieren Sie den folgenden Code in eine PHP-Datei (Verbindung zum lokalen Memcache-Server):

    $fp = fsockopen("localhost", 11211);
    if ($fp) {
    // on demande les stats
    fwrite($fp, "stats\n");
    while (!feof($fp)) {
    $buf = rtrim(fgets($fp));
    if (preg_match('/^STAT curr_items ([0-9]+)$/', $buf, $matches)) {
    // le nombre d'items stockes
    print $matches[1] . PHP_EOL;
    } elseif (preg_match('/(END|ERROR)/', $buf)) {
    // fin des stats
    break;
    }
    }
    fclose($fp);
    } else {
    print "Error: cannot connect to local memcached server: $!" . PHP_EOL;
    }
  2. Laden Sie die PHP-Datei auf Ihre Hosting-Umgebung hoch.
  3. Führen Sie die PHP-Datei aus.

Das Skript gibt die Anzahl der im Speicher des Servers zwischengespeicherten Elemente zurück.

 

Memcached auf … aktivieren

… Prestashop

Die native Integration von Memcached in die Prestashop-Anwendung vereinfacht deren Konfiguration. Um sie zu aktivieren:

  1. Gehen Sie zu Ihrem Prestashop-Administrationsbereich.
  2. Gehen Sie zum Tab Erweiterte Einstellungen.
  3. Wählen Sie Leistung.
  4. Wählen Sie Ja im Dropdown-Menü unter Cache verwenden im Abschnitt Caching.
  5. Wählen Sie CacheMemcached.
  6. Fügen Sie einen Server hinzu, indem Sie die erforderlichen Informationen wie
    1. die IP-Adresse: 127.0.0.1
    2. den Port: 11211
    3. das Gewicht: 1

Sie können die Informationen überprüfen, indem Sie auf die Schaltfläche "Server testen" klicken, bevor Sie sie unten im Abschnitt "Caching" speichern.

Sobald dieser Schritt abgeschlossen ist, ist Ihre PrestaShop-Anwendung bereit, Memcached zum Caching bestimmter API-Aufrufe, Datenbankaufrufe und Objekte zu verwenden.


War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie ein bestehendes Webhosting Angebot ändern, um beispielsweise zusätzliche Websites zu hosten, wenn das Maximale Websites-Kontingent erreicht ist, oder eine neuere Hosting-Lösung zu erhalten, um die neuesten Versionen von PHP & MySQL zu nutzen.

 

Webhosting-Angebot ändern, um…

 

… zusätzliche Websites, Speicherplatz oder IP-Adressen bestellen

Um auf den Webhosting-Konfigurator zuzugreifen:

  1. Klicken Sie hier, um auf die Verwaltung Ihres Hostings im Infomaniak Manager zuzugreifen (Hilfe benötigt?).
  2. Klicken Sie auf das Aktionsmenü ⋮ rechts neben dem betreffenden Hosting.
  3. Klicken Sie auf Angebot ändern:
  4. Erhöhen Sie die Werte, die Sie ändern möchten.
  5. Klicken Sie auf die Schaltfläche Weiter, um zur Zahlung der Änderungen am Hosting zu gelangen:

 

… auf einen neueren Server wechseln

Um eine Hosting-Lösung auf einem neueren Server zu erhalten und somit die neuesten Versionen von PHP & MySQL zu nutzen, können Sie entweder…

  • … diesen anderen Leitfaden lesen und das dort beschriebene Verfahren bis zum Ende befolgen:
  • … diesen anderen Leitfaden lesen und das dort beschriebene Verfahren bis zum Punkt 4 befolgen, dann klicken Sie auf die Schaltfläche zum Aktualisieren:

Wenn kein Informationsbanner angezeigt wird, bedeutet dies, dass Sie bereits ein aktuelles Hosting-Angebot nutzen.


War diese FAQ nützlich?