Posts mit dem Label php werden angezeigt. Alle Posts anzeigen
Posts mit dem Label php werden angezeigt. Alle Posts anzeigen

Samstag, 3. März 2018

XAMPP keeps showing Dashboard/Welcome Page / XAMPP zeigt Dashboard/Welcome Seite

After installing new xampp version it shows welcome page instead of local dev pages...


i forgot to put the VirtualHosts into the http-vhosts.conf file:

<VirtualHost *:80>
DocumentRoot "C:/workspace/xampp/htdocs/nnssf/public"
ServerName nnssf.local
</VirtualHost>

Mittwoch, 21. Juni 2017

Mysql Fehler SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY''

Urplötzlich trat dieser Fehler bei der DB auf dem Webserver auf
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY''

Bei der gleichen Aktion in der Entwicklungsumgebung, gab es keine Probleme...

Die betreffende Tabelle hatte bereits einen Eintrag mit Indexwert 0, es sollte ein neuer Eintrag erstellt werden. Der Primary Index ist weder am Anschlag noch ist er nicht auf AutoIncrement.

Eine lange Googlesuche brachte mich zu einer Loesung, die mir half:

mysqlcheck --auto-repair=true -u<dbusername> -p <dbname>


Was habe ich vor diesem Fehler gemacht?
Und zwar nur auf dem Online Webserver?

ich habe phpMyAdmin genutzt um die Spaltenreihenfolge zu aendern (In einer anderen Tabelle) -> Ob dies Ausloeser des Problems war?

Donnerstag, 9. Februar 2017

Laravel File Move ErrorException in Filesystem.php line 192: rename(

Ich bekam diese Exception beim versuch bilder von einem Ordner in einen anderen zu bewegen
per File::move($oldpath, $newpath)

auch Storage::move($oldpath, $newpath) bracht mir File not found Exceptions

Loesung brachte:
$pp=public_path();
File::move($pp.'/'.$oldpath, $pp.'/'.$newpath)


Sonntag, 14. April 2013

QNAP - Cronjob Script zum killen eines Prozesses

Da mir auf dem QNAP immer wieder der php Prozess die Prozessorlast und den load hochschraubt und ich noch nicht dahintergekommen bin, was den Prozess startet, habe ich nach einem Ausweg gesucht.

Ziel:
Erstellung eines Cronjobs, der alle X Minuten prüft ob der php Prozess läuft.

Die vorinstallierte top Version lässt leider keine Optionen zu:


top: invalid option -- n
BusyBox v1.01 (2013.02.28-18:30+0000) multi-call binary

Usage: top [-d <seconds>]

top provides an view of processor activity in real time.
This utility reads the status for all processes in /proc each <seconds>
and shows the status for however many processes will fit on the screen.
This utility will not show processes that are started after program startup,
but it will show the EXIT status for and PIDs that exit while it is running.

Deshalb wird per ipkg install ein neues top installiert:

ipkg install atop

Nun erstelle ich unter /share/ ein neues Verzeichnis scripts

mkdir /share/scripts
cd /share/scripts/

Hier soll nun das Script rein. Also erstelle ich die Datei killphp.sh:

vi killphp.sh

Und fülle sie mit folgenden Zeilen:

#!/bin/sh
d=`date`
pid=`atop -p 1 1 | grep php | cut -f1 -d" "`
txt=`atop -pc 1 1 | grep php`
if [ "x$pid" = "x" ]; then
  echo  $d " - Kein php Prozess gefunden" >> /share/scripts/killphp.log
else
  echo $d " - php Prozess " $pid " gekillt" >> /share/scripts/killphp.log
  echo $txt >> /share/scripts/killphp.log
  kill $pid
fi

Hier wird der aktuelle Datum/Zeit Stempel in d gespeichert. pid ist die ProzessId von php. txt gibt den Pfad von php zurück. Wenn nun kein php Prozess gefunden wird, schreibt er dies in das Logfile killphp.log. Wird der php Prozess gefunden, so wird die ProzessId und das php gekillt worden ist ins Logfile geschrieben. Ausserdem kommt der Pfad des Prozesses dazu und natuerlich wird der Prozess noch gekillt.

Jetzt noch die Logdatei erstellen.

touch killphp.log

Nun muss noch die Berechtigung der Dateien eingestellt werden. 

chmod 777 killphp.sh
chmod 666 killphp.log

Jetzt wird das ganze noch in die crontab eingetragen, so dass es alle 5 Minuten ausgeführt wird.

crontab -e

Hier diese Zeile einfügen:

*/5 * * * * /share/scripts/killphp.sh

Nun sollte sich die Datei killphp.log alle 5 Minuten um eine Zeile erweitern, und wenn der Prozess php anspringt, dieser wieder gekillt werden. Für den Fall, dass php benötigt wird müsste die Zeile in der crontab auskommentiert werden:

# */5 * * * * /share/scripts/killphp.sh