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.

  • Fedora 42

    Linux fedora linux btrfs
    2
    2
    0 Stimmen
    2 Beiträge
    134 Aufrufe
    FrankMF
    Ich habe mir gestern den Cosmic Desktop angesehen. Davon abgesehen, das er noch ein sehr frühes Stadium ist, hat er mir nicht wirklich gefallen. Also heute mal die Referenz von Fedora installiert, die Workstation mit Gnome Desktop. Wer hier lange mitliest, weiß das ich kein Fanboy vom Gnome Desktop bin. Aber ich wollte unbedingt mal den Anaconda Installer sehen. Der ist richtig gut geworden und das man jetzt das Tastaturlayout für die Verschlüsselung einstellen kann, wird hoffentlich in Zukunft verhindern, das ich mit einer amerikanischen Tastatur meine Passphrase eingeben muss Da war ja vorher bei meinen Test das Problem, das ich nach Standby nicht über die Tastatur aufwecken konnte. Das war eine Einstellung im BIOS, irgendwas mit Wakeup/BIOS/USB Jetzt funktioniert das auch einwandfrei. Und zu Gnome sag ich mal nichts, ich bin da vermutlich zu alt für Ich lasse es aber mal ein paar Tage auf der Platte, vielleicht erkenne ich ja noch seinen Nutzen. Zum Schluss, das schöne an FOSS ist, wir haben die Wahl welchen Desktop wir installieren dürfen. Fedora 42 sieht gut aus und läuft rund. Jetzt mal suchen, wo ich in Gnome diese beschissene Updateverhalten ausschalten kann, was aussieht wie ein Windows. Das braucht nun wirklich niemand.
  • AI Bots aussperren

    Linux linux block-ai nginx
    2
    0 Stimmen
    2 Beiträge
    106 Aufrufe
    FrankMF
    Wir können das noch für eine sanfte Methode erweitern, das ist die Datei robots.txt, wo man sich in alten Zeiten mal dran hielt. Einige Bots machen das, andere nicht. Praktisch, das o.g. Projekt bietet diese Datei auch an. Dann werden wir das kurz mal mit einbauen. ai-block.sh #!/bin/bash # Script um AI-Bots zu blocken # https://github.com/ai-robots-txt/ai.robots.txt/tree/main mkdir /root/AI-test cd /root/AI-test ## Daten holen curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/nginx-block-ai-bots.conf curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/robots.txt ## Daten in nginx einbauen mv nginx-block-ai-bots.conf /etc/nginx/blocklists/ mv robots.txt /var/www/html ## NGINX neustarten systemctl restart nginx.service Damit das in nginx funktioniert. Den Server Block um folgendes erweitern. # Serve robots.txt directly from Nginx location = /robots.txt { root /var/www/html; try_files $uri =404; } Kurzer Test https://<DOMAIN>/robots.txt Ergebnis User-agent: AI2Bot User-agent: Ai2Bot-Dolma User-agent: Amazonbot User-agent: anthropic-ai User-agent: Applebot User-agent: Applebot-Extended User-agent: Brightbot 1.0 User-agent: Bytespider User-agent: CCBot User-agent: ChatGPT-User User-agent: Claude-Web User-agent: ClaudeBot User-agent: cohere-ai User-agent: cohere-training-data-crawler User-agent: Crawlspace User-agent: Diffbot User-agent: DuckAssistBot User-agent: FacebookBot User-agent: FriendlyCrawler User-agent: Google-Extended User-agent: GoogleOther User-agent: GoogleOther-Image User-agent: GoogleOther-Video User-agent: GPTBot User-agent: iaskspider/2.0 User-agent: ICC-Crawler User-agent: ImagesiftBot User-agent: img2dataset User-agent: imgproxy User-agent: ISSCyberRiskCrawler User-agent: Kangaroo Bot User-agent: Meta-ExternalAgent User-agent: Meta-ExternalFetcher User-agent: OAI-SearchBot User-agent: omgili User-agent: omgilibot User-agent: PanguBot User-agent: Perplexity-User User-agent: PerplexityBot User-agent: PetalBot User-agent: Scrapy User-agent: SemrushBot-OCOB User-agent: SemrushBot-SWA User-agent: Sidetrade indexer bot User-agent: Timpibot User-agent: VelenPublicWebCrawler User-agent: Webzio-Extended User-agent: YouBot Disallow: /
  • fail2ban auf einem systemd System (Debian 12)

    Linux linux fail2ban
    2
    0 Stimmen
    2 Beiträge
    84 Aufrufe
    FrankMF
    Auf Debian 13 Trixie fehlt noch folgendes apt install python3-setuptools
  • Firefox 122 als .deb Paket

    Linux firefox linux
    1
    1
    0 Stimmen
    1 Beiträge
    184 Aufrufe
    Niemand hat geantwortet
  • Debian 12 Bookworm - Release 12.1

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    145 Aufrufe
    Niemand hat geantwortet
  • Passkeys

    Linux linux passkeys
    2
    0 Stimmen
    2 Beiträge
    273 Aufrufe
    FrankMF
    Passend dazu aus dem Bitwarden Blog https://bitwarden.com/blog/bitwarden-passkey-management/
  • Manjaro Stable-Update vom 20.02.23

    Linux manjaro docker linux
    2
    0 Stimmen
    2 Beiträge
    162 Aufrufe
    FrankMF
    Ich konnte es nicht lassen, ich habe es mal getestet.    ~  docker version  ✔  1m 37s  Client: Version: 23.0.1 API version: 1.42 Go version: go1.20 Git commit: a5ee5b1dfc Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Context: default In der aktuellen systemd Datei steht folgendes drin. Bei mir zu finden unter /usr/lib/systemd/system/docker.service LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity Die override Dateien angelegt und durchgestartet. Läuft alles einwandfrei. Aber bitte fragt mich nicht, was dieser Wert da oben macht. Ich habe keine Ahnung. Update: Erklärung zu ulimits https://stackoverflow.com/questions/62127643/need-understand-ulimits-nofile-setting-in-host-and-container
  • VS Code - entferntes Verzeichnis einbinden

    Linux vscode linux
    2
    0 Stimmen
    2 Beiträge
    445 Aufrufe
    FrankMF
    Mein kleines Projekt liegt auch noch auf gitlab.com. Man kann prima die beiden Dienste (VSCode & gitlab.com) verknüpfen. Eine Änderung, ein commit und dann git push origin master Und die Änderungen sind oben. Aber, ich stecke da noch ganz am Anfang der Lernkurve