Ich weiß nicht viel von Linux, würde aber annehmen, dass /usr im Apache Kontext etwas anderes ist als für einen cron oder einen interaktiven User, so dass eine PHP Installation oder ein mysqldump gar nicht verfügbar ist.
"Gar nicht verfügbar" ist so eine Sache.
Also im Allgemeinen sollten die von cron gestarteten Prozesse unter der UID/GID es Users und damit mit dessen Rechten starten. Und im Allgmeinen kann jeder user mysqldump starten. Ferner gibt im Allgemeinen ein Support korrekte Auskünfte.
Aber wie das mit dem „Allgmeinen“ so ist...
- Es kann sein, dass cron die Prozesse unter einer Art Proxy-User ausführt. Also nicht unter dem Benutzerkennzeichen, welches man erwartet…
- Es kann sein, dass man vielen Benutzern das Ausführen von bestimmten Programmen z.B per acl entzogen hat.
- Es kann tatsächlich sein, dass der Webserver und der Server, auf dem cron ausgeführt werden zwei verschiedene sind (der als Webserver genutzte Server z.B. Verzeichnisse aus einem mount nutzt)
- Es kann sein, dass der Support angewiesen wurde, einfache Auskünfte wie „geht nicht“ zu geben um kompliziertere Anfragen zu vermeiden oder Kunden mit billigen Paketen dazu zu bewegen, ein teureres zu kaufen.
- … (else)
Es kann aber auch sein, dass man mit ein paar Linux-Kenntnissen den Hoster ein wenig austricksen kann, denn oft sind diese Beschneidungen („nun ja“) „nicht wirklich wirksam“, bestehen z.B. aus nicht gesetzten PATH-Variablen, fehlenden Links in /etc/alternatives oder dergleichen…
Manches weiß mancher über manchen Hoster, herausfinden lässt sich fast alles.
@Jörg:
<?php
echo $DEIN_HOSTER;
echo $DEIN_PAKET