Ich bin dabei, eine PHP-Anwendung von der Ausführung in einer Windows-Umgebung in eine Linux-basierte Umgebung zu konvertieren.PDO dblib nextRowset funktioniert nicht
Es verwendet PDO, um gespeicherte Prozeduren gegen eine Microsoft SQL Server-Datenbank auszuführen.
Also, ich habe PHP 5.6.22, Apache, Freedds und PDO dblib installiert und konfiguriert, um die Anwendung zu erleichtern.
Die meisten Stored Procedure-Ausführungen funktionieren einwandfrei. Außer solchen, die mehrere Rowsets zurückgeben.
Als ich $pdo->nextRowset()
nennen, ich diesen fatalen Fehler:
SQLSTATE[HY000]: General error: PDO_DBLIB: dbresults() returned FAIL
Der einzige Hinweis, den ich dazu finden war eine in PHP 5.6.9 gemeldet Fehler, der behoben.
Allerdings bekomme ich das gleiche Problem in PHP 5.6.22.
Hat jemand irgendwelche Ideen, warum das passiert und wie ich es lösen kann?
Können Sie einen detaillierteren Fehler als den Fehler zurückgeben, indem Sie die Einstellungen in 'php.ini' für die Fehlerausprägung optimieren (sorry, ich habe PHP seit Jahren nicht mehr berührt oder genauer gesagt). Wenn wir den tatsächlichen FreeTDS-Fehler auf die Oberfläche bringen können, wäre das viel einfacher zu diagnostizieren, da Sie wahrscheinlich den SQL Server-Treiber unter Windows für FreeTDS unter Linux austauschen. – FlipperPA
PHP ist am höchsten Ausführlichkeit und zeigt nur die Fehlermeldung in meiner Frage. – Jamesking56
Überprüfen Sie einfach, haben Sie die Prozedur durch einen Aufruf ausgeführt? – Ctc