Skip to content

pdo Abfrage funktioniert nicht

Linux
  • Heute habe ich mal wieder zwei Stunden meines Lebens damit verbracht, zu verstehen warum etwas nicht geht, was für mich eigentlich funktionieren sollte!?!?

    System

    Ein ROCKPro64 mit bionic-minimal

    root@rockpro64v2_0:/var/log/nginx# uname -a
    Linux rockpro64v2_0 4.19.0-rc4-1065-ayufan-g72e04c7b3e06 #1 SMP PREEMPT Sat Sep 29 21:27:52 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Fangen wir vorne an. Ich habe ein Projekt, was ich mit PHP mal gecodet habe, darin sind alle Datenbankabfragen konsequent auf pdo getrimmt. Nach einer lokalen Installation geht nix 😞

    Beispiel

    <?php
    
    echo "DATENBANK TEST";
    
    $pdo = new PDO('mysql:host=localhost;dbname=database', 'user', 'password');
     
    $statement = $pdo->prepare("SELECT vorname, nachname FROM users");
     
    if($statement->execute()) {
        while($row = $statement->fetch()) {
            echo $row['vorname']."<br />";
        }    
    } else {
        echo "SQL Error <br />";
        echo $statement->queryString."<br />";
        echo $statement->errorInfo()[2];
    }
    ?>
    

    Gut, Datenbankaufruf falsch, Pfade stimmen nicht usw. Erste Stunde weg. Nachdem mir nichts mehr eingefallen ist, angefangen zu zweifeln das pdo unterstützt wird. Also im Netz auf die Suche gemacht. Folgendes gefunden.

    extension=pdo.so
    extension=pdo_mysql.so
    

    Das ans Ende der php.ini gehangen.

    nano /etc/php/7.2/fpm/php.ini
    

    Danach mal eben

    /etc/init.d/php7.2-fpm reload
    service nginx restart
    

    und siehe da, es geht! 🙂 Jetzt habe ich wieder deutlich bessere Laune 😉 Das war dann die zweite Stunde die weg war, aber zum Glück mit einer Lösung.

  • Wichtig ist natürlich auch, das folgendes php Paket installiert ist!

    sudo apt install php7.0-mysql
    

    Je nachdem welche PHP Version installiert ist, muss der Befehl angepasst werden. Mit

    php -v
    

    könnt ihr nachschauen welche Version installiert ist.

  • Rest-Server v0.13.0 released

    Restic
    2
    0 Stimmen
    2 Beiträge
    294 Aufrufe
    FrankMF
    Download Rest-Server und installieren

    Im Github Repository den aktuellen Release suchen. Hier am Beispiel der aktuellen Version 0.13.0 (27.07.2024) Datei herunterladen

    wget https://github.com/restic/rest-server/releases/download/v0.13.0/rest-server_0.13.0_linux_amd64.tar.gz

    Die Datei entpacken

    tar -xf rest-server_0.13.0_linux_amd64.tar.gz

    Ins Verzeichnis wechseln

    cd rest-server_0.13.0_linux_amd64

    Wenn der Rest-Server läuft, dann muss man diesen erst mal stoppen.

    systemctl stop rest-server

    Danach kopiert man das File nach bin. Wer mag sichert vorher das alte File.

    cp rest-server /usr/local/bin

    Danach kann man den Rest-Server wieder starten.

    systemctl start rest-server

    Versionskontrolle

    root@rest-server:~# rest-server -v rest-server version rest-server 0.13.0 compiled with go1.22.5 on linux/amd64

    Die Hilfe vom Rest-Server

    root@rest-server:~# rest-server -h Run a REST server for use with restic Usage: rest-server [flags] Flags: --append-only enable append only mode --cpu-profile string write CPU profile to file --debug output debug messages -h, --help help for rest-server --htpasswd-file string location of .htpasswd file (default: "<data directory>/.htpasswd)" --listen string listen address (default ":8000") --log filename write HTTP requests in the combined log format to the specified filename (use "-" for logging to stdout) --max-size int the maximum size of the repository in bytes --no-auth disable .htpasswd authentication --no-verify-upload do not verify the integrity of uploaded data. DO NOT enable unless the rest-server runs on a very low-power device --path string data directory (default "/tmp/restic") --private-repos users can only access their private repo --prometheus enable Prometheus metrics --prometheus-no-auth disable auth for Prometheus /metrics endpoint --tls turn on TLS support --tls-cert string TLS certificate path --tls-key string TLS key path -v, --version version for rest-server Systemd

    Wer noch ein passendes systemd File benötigt.

    [Unit] Description=Rest Server After=syslog.target After=network.target [Service] Type=simple User=rest-server Group=rest-server ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /mnt/rest-server/<DOMAIN>/fullchain.pem --tls-key /mnt/rest-server/<DOMAIN>/key.pem --path /mnt/rest-server Restart=always RestartSec=5 # Optional security enhancements NoNewPrivileges=yes PrivateTmp=yes ProtectSystem=strict ProtectHome=yes ReadWritePaths=/mnt/rest-server [Install] WantedBy=multi-user.target
  • Open Source Software - Nur mit Luft & Liebe läuft es auch nicht rund

    Linux
    1
    0 Stimmen
    1 Beiträge
    132 Aufrufe
    Niemand hat geantwortet
  • Star64 - UART

    Hardware
    1
    0 Stimmen
    1 Beiträge
    52 Aufrufe
    Niemand hat geantwortet
  • Vorstellung Star64

    Hardware
    2
    0 Stimmen
    2 Beiträge
    84 Aufrufe
    FrankMF

    Ich konnte heute einen ergattern und die 8GB RAM Version ist unterwegs. Achtung, aktuell ist die Softwareunterstützung fast nicht vorhanden!

  • Portainer - Python3.10

    Linux
    1
    0 Stimmen
    1 Beiträge
    71 Aufrufe
    Niemand hat geantwortet
  • checkmk - Agent auf einem Debian Buster Server installieren

    Verschoben checkmk
    1
    0 Stimmen
    1 Beiträge
    633 Aufrufe
    Niemand hat geantwortet
  • Kopia 0.6.x released

    Kopia
    3
    0 Stimmen
    3 Beiträge
    256 Aufrufe
    FrankMF

    0.6.3 released

    c142598 Disable blob deletion in 0.6 unless KOPIA_ENABLE_BLOB_DELETION is set to true (#552)

    Aufpassen, es gibt da wohl ein Problem, was zu Datenverlust führen könnte!

  • NodeBB - Update

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    677 Aufrufe
    Niemand hat geantwortet