PHP.ini VServer Root Server Config Volltextsuche Einstellungen - Broschei

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

PHP.ini Einstellungen MAX maximale Werte ändern in der Konfiguration (PHP.ini Config) Deines VServer oder Root Server

PHP.ini VServer Root Server Config Volltextsuche Einstellungen Wenn Du nur einen Webserver bei Deinem Anbieter verwendest dann wirst Du die Einstellungen die hier beschrieben sind wahrscheinlich nicht in der php.ini Datei verändern können da Du keinen direkten Root Zugriff hast. Aber frage gerne mal bei Deinem Hoster nach. In der Regel ist dies nicht möglich, da sich die Einstellungen auf den gesamten Server ändern, was dann alle Kunden betrifft die den gleichen Server nutzen. Wenn Du die unten stehenden Server Einstellungen änderst musst du auch Deinen Apache Server neustarten damit die neuen Einstellungen übernommen werden. Denke daran, dass zu diesem Zeitpunkt die Internetseite nicht zu erreichen ist! Überschreibst Du jedoch nur die einzelnen PHP Dateien mittels ini_set(), so musst Du auch keinen Neustart des Servers durchführen.

log_errors_max_len

  • Schreibt in eine Log Datei auf dem Server evtl. Fehler die aufgetreten sind. Stelle mit dem Einstellungs-Wert die maximale Länge der error_log Informationen ein. Standard sind 1024 bytes.
  • log_errors_max_len: 1024

max_execution_time

  • Die max_execution_time legt eine feste Zeit in Sekunden fest, die ein Script verbrauchen / verwenden darf, bevor die Ausführung gestoppt / abgebrochen wird vom Server. Standard sind 30 Sekunden. Sollten Scripte längere Zeit benötigen, so kann man unter Umständen diesen Wert erhöhen. Besser ist es aber jeder PHP Datei manuell diesen Wert zu geben ini_set('max_execution_time', 9000); Diesen Schreibst Du einfach ganz oben in die PHP Datei hinein, so verhinderst Du, dass evtl. Angriffe auf Deinen Server / Internetseite unterbunden werden da diese mit der Standardeinstellung von 30 Sekunden gestoppt werden.
  • max_execution_time: 30

max_file_uploads

  • Die max_file_uploads Einstellung bestimmt die Anzahl der gleichzeitigen Dateien die auf den Server hochgeladen werden können / dürfen. Standard sind 20 gleichzeitige Uploads.
  • max_file_uploads: 20

max_input_nesting_level

  • Die max_input_nesting_level Einstellung legt eine maximale Verschachtelungstiefe für Eingabevariablen, wie zum Beispiel von der Übermittlung von Formularen mit $_POST oder $_GET fest. Standard sind 64 Verschachtelungen.
  • max_input_nesting_level: 64

max_input_time

  • Die max_input_time Einstellung legt in Sekunden die Zeit fest, wie lange PHP Scripte arbeiten können bevor Sie vom Server gestoppt werden. Zum Bespiel bei Dateiuploads auf den Server oder bei MYSQL Abfragen, sowie Formulare mit $_POST oder $_GET. Standard sind 60 Sekunden. Auch hier kannst Du separat die Einstellung in der PHP Datei vornehmen, falls Du eine längere Verarbeitungszeit Deines PHP Scripts benötigst. Schreibe dazu oben in die PHP Datei folgendes hinein: ini_set('max_input_time', 9000);
  • max_input_time: 60

max_input_vars

  • Die max_input_vars Einstellung bestimmt wie viele maximale Eingabe-Variablen zum Beispiel von der Übermittlung von Formularen mit $_POST oder $_GET verarbeitet werden dürfen / können. Damit wird eine Attacke auf den Server verhindert! Standard sind 1000 gleichzeitige Übermittlungen.
  • max_input_vars: 3000

post_max_size

  • Die post_max_size gibt die maximale Größe von Formular POST Scripts frei. post_max_size ist auch dafür zuständig, wie groß die Dateien sein dürfen um größer Dateien per Datei-Upload auf den Server zu senden. Wenn größere Dateien hochgeladen werden sollen, dann muss der Wert post_max_size größer / gleich eingestellt sein als der Wert upload_max_filesize. Wird ein integer-Wert verwendet, wird dieser Wert in Bytes gemessen. 1024 Bytes ergeben 1KB. 1024 KB ergeben 1MB. Demnach sind 1MB = 1048576 Bytes. Standard sind 8M Dateigröße.
  • post_max_size: 200M

upload_max_filesize

  • Die upload_max_filesize gibt in Verbindung mit der post_max_size die maximale Größe einer Datei an die auf den Server hochgeladen werden darf. Also wenn man ein Bild auf den Server hochladen möchte, dass größer als wie die Standardeinstellung von 2M (Megabyte) ist dann muss man den Wert erhöhen, da man sonst die Datei nicht auf den Server hochladen kann. Ebenso muss die Einstellung max_input_time beachtet werden, wenn die Datei zu lange Zeit benötigt auf den Server hochgeladen zu werden dann stoppt der Server den Upload, daher muss auch der Wert groß genug sein, damit ausreichend Zeit vorhanden ist. Standard sind 2M Dateigröße.
  • upload_max_filesize: 200M

memory_limit

  • Die memory_limit Einstellung dient dazu zu bestimmen wie viel Arbeitsspeicher ein PHP Script vom Server nutzen darf. Damit soll verhindert werden, dass wenn ein PHP Script einen fehlerhaften Code hat, nicht den ganzen Arbeitsspeicher voll auszunutzen und somit den Server lahm legt. Auch hier kannst Du separat die Einstellung in der PHP Datei vornehmen, falls Du einen größeren Speicher für Dein PHP Script benötigst. Schreibe dazu oben in die PHP Datei folgendes hinein: ini_set('memory_limit', '900M'); Standard sind 128M RAM.
  • memory_limit: 256M

MYSQL Volltextsuche minimale Wortlänge einstellen für die Datenbank Suche

Du hast eine Internetseite und möchtest nun aus der MYSQL Datenbank Einträge heraussuchen. Grundlegend ist das keine große Herausforderung! Deine Abfrage könnte wie folgt aussehen:

SELECT * FROM table_name WHERE field_name LIKE '%value%' damit bekommst Du ganz einfach Dein Ergebnis angezeigt

MYSQL Abfrage von 10 Millionen Records / Produkten

Die Abfrage von 1000 Records also 1000 Produkten im Shop ist mit dieser einfachen Abfrage schnell möglich. Jedoch bei 10 Millionen Produkten in der Datenbank ist dies nicht mehr möglich mit der Wildcard LIKE %% Abfrage. Die LIKE Abfrage muss jeden Datensatz in der MYSQL Datenbank abfragen und prüfen ob vorne oder hinten etwas passendes dabei ist. Somit könnte eine einfache Abfrage wie SELECT * FROM table_name WHERE field_name LIKE '%schuhe%' mehrere Minuten dauern oder sogar einen Timeout verursachen.

Die Lösung dazu ist die MYSQL Volltextsuche! Diese umgeht die problematische LIKE Abfrage und bietet ein ein hohes Maß an Performance. Jedoch gibt es hier vorweg erwähnt schon ein großes Problem, wenn man nur einen Webserver nutzt und keinen Root Zugang bzw. Zugang zur MYSQL Konfiguration Datei hat. Die Volltextsuche kann erst ein Wort verwenden, dass mehr als 4 Buchstaben hat. Wird die Datenbank also nach dem Wort "Hemd" durchsucht, kann die Volltextsuche keinen Treffer erzielen, was die gesamte Volltextsuche unbrauchbar macht. Genau das Gleiche passiert auch, wenn man nach einer ATI oder AMD Grafikkarte sucht, man würde alle Grafikkarten angezeigt bekommen da ATI als Suchwort nicht angenommen wird.

MYSQL Konfiguration für die Volltextsuche ändern (Full Text Minimum Word Length)

  • Wie schon erwähnt ist die Änderung der Einstellung nur machbar wenn Du einen Root Zugang zu Deinem Server hast!
  • Gehe dazu auf Deinen Server und suche das Verzeichnis "etc/mysql" und öffne die Datei "my.cnf".
  • Suche jetzt folgenden Eintrag: ft_min_word_len = 4
  • Ändere jetzt die Zahl 4 in 1 2 oder 3 somit bestimmst Du ab wie vielen Zeichen die Volltextsuche reagieren soll
  • Speicher die Datei und starte Deinen MYSQL Server neu. Du kannst folgendes in die Console schreiben /etc/init.d/mysql restart
  • Nachdem Neustart muss nur noch der Fulltext-Index neu anlegen werden, das geht über den Befehl REPAIR TABLE tabelle; in phpMyAdmin

Wenn das alles erledigt ist und jede Tabelle die wir für die Abfrage benötigen einen INDEX FULLTEXT bekommen hat kann die schnelle Abfrage wie folgt aussehen:

SELECT * FROM tabelle WHERE MATCH (spalte1, spalte2) AGAINST ('+ATI +Grafikkarte' IN BOOLEAN MODE);

Weitere Informationen zur Volltextsuche findest Du hier Full-Text Search Functions

Kommentar schreiben

FRAGEN MEINUNGEN INFORMATIONEN

Schreibe einen Kommentar zum Artikel. Verwende einen Nickname bzgl. des Datenschutzes. Deine IP Adresse wird beim Absenden gespeichert. Gerne beantworte ich Fragen zum Artikel!
Vielen Dank dafür!
Mit dem Absenden Deines Kommentar bist Du mit den Datenschutzbestimmungen einverstanden >> hier lesen <<

Sicherheitscode
Aktualisieren