On 24.03.23 13:04, Jörg Thümmler wrote:
kennt sich jemand mit den Interna des Apachen bei Symbolischen Links aus? Ich habe eine Anwendung, die über einen system($command)-Befehl aus php heraus gestartet wird (eine DB-Abfrage, kein SQL). Die DB hat einen Lizenzzähler, der hardcoded in /usr/tmp liegt. Seit leap 15.x gibt es das nicht mehr, es ist jetzt ein Symlink auf /var/tmp. Obwohl ich für das entsprechende Verzeichnis "Options FollowSymLinks" gesetzt habe, meckert das php im Apachen den Lizenzzähler als "not found" an. Führe ich das Script manuell im entsprechenden Verzeichnis aus, findet er den Zähler ohne Probleme.
Wie kann ich dem Apachen beibringen, dem Link in /usr zu /var/tmp zu folgen? In der Version 2.2 scheint das funktioniert zu haben, zumindest kann ich mich nicht erinnern, dafür Krämpfe gemacht zu haben...
PHP interessiert sich für die FollowSymLinks-Option von Apache nicht. PHP kann teilweise auf bestimmte Verzeichnisse nicht zugreifen, wenn die open_basedir-Option in /etc/php8/apache2/php.ini gesetzt ist. Für die Fehlersuche ist es manchmal sinnvoll, die php-Skripte manuell zu starten: sudo -u www-data bash cd /srv/www/htdocs/<Ziel> php phpskript.php Björn