Skip to content

pdo Abfrage funktioniert nicht

Linux
2 1 582
  • 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.

  • Pycharm und Autoupload

    Linux pycharm linux
    1
    3
    0 Stimmen
    1 Beiträge
    110 Aufrufe
    Niemand hat geantwortet
  • Restic v0.16.2

    Linux restic linux
    1
    0 Stimmen
    1 Beiträge
    154 Aufrufe
    Niemand hat geantwortet
  • Ansible - Proxmox Server bearbeiten

    Ansible ansible proxmox semaphore linux
    1
    1
    0 Stimmen
    1 Beiträge
    486 Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - Switch

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    1
    1
    0 Stimmen
    1 Beiträge
    300 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Kernel 5.6 und Wireguard 1.0

    ROCKPro64 linux rockpro64 wireguard
    1
    0 Stimmen
    1 Beiträge
    342 Aufrufe
    Niemand hat geantwortet
  • NAS - Cups & Sane

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    511 Aufrufe
    Niemand hat geantwortet
  • Installation von Grav & NGinx & PHP7.2

    Angeheftet Verschoben Grav grav linux
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF
    Nachdem ich den ROCKPro64 jetzt auf den Mainline umgestellt habe, lief meine Testinstallation von Grav nicht mehr. Hilfreiche Sache um das Problem zu lösen -> https://gist.github.com/GhazanfarMir/03bd1f1f770a3834d47274586d46ea62 Ich bekam immer 502 Bad Gateway, Grund war ein nicht korrekt gestarteter php-pfm Service. rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm start rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm status ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 20:15:20 CEST; 21s ago Docs: man:php-fpm7.2(8) Main PID: 3206 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0.2req/sec" Tasks: 3 (limit: 4622) CGroup: /system.slice/php7.2-fpm.service ├─3206 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─3207 php-fpm: pool www └─3208 php-fpm: pool www Aug 16 20:15:19 rockpro64v2_0 systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Aug 16 20:15:20 rockpro64v2_0 systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
  • Ubuntu Bionic - IP Adresse ändern

    Angeheftet Verschoben Linux linux
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet