Was den Aufruf mit -c angeht:
Code: Select all
php4 -c /pfad/zur/php.ini -f /pfad/zum/skript.php
Findest Du denn in den Logs von MySQL irgendetwas? Poste auch mal den relevanten Teil der php.ini (nur den Part mit der MySQL-Konfiguration, ohne Kommentare). Insbesondere mysql.default_socket und mysql.default_host wären interessant...
Um PHP etwas "gesprächiger" zu machen, kannst Du noch folgendes in Deiner php.ini eintragen:
Code: Select all
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = On
log_errors = On
error_log = /var/log/lighttpd/php_err.log
Den Pfad für's Error-Log musst Du natürlich noch anpassen; v. a. muss der User, unter dem Du das PHP-Skript aufrufst, dort Schreibberechtigung haben.
Du hast in einem Deiner Posts weiter oben geschrieben, dass die Ausführung über den Webserver funktioniert - wie wird PHP denn dort angesprochen? Über mod_php? Welche php.ini wird dort verwendet? Welche PHP-Version?
Wenn das Problem nur auf dem einen Server bestehen würde, hätte ich gesagt, das php-Binary hat 'nen Schuss - aber Du sagtest, es geht auf allen Deinen Debian-Servern nicht?! Und über den Webserver ausgeführt geht es auf allen Servern? => Dann ist es höchstwahrscheinlich entweder ein Konfigurationsproblem (PHP
und/oder MySQL)oder Du hast auf allen Servern inkonsistente Versionen installiert => mal über apt-get ein Update gemacht?