Raketenwilli: PHP (cli) : .user.ini testen, / Ausflug: Das bessere TMP-Verzeichnis im HomeDir

Beitrag lesen

Hast Du PHP_INI_SCAN_DIR=. gesetzt, damit es auf der Konsole eine .user.ini beachtet?

export PHP_INI_SCAN_DIR=$TMPDIR

(Ich habe aus ${'arrWichtigeGründe'} ein weiteres tmp-Verzeichnis im User-Home. →¹)

Das einfache Setzen der Variable (unter Linux) reicht nicht. Erst als ich die Variable PHP_INI_SCAN_DIR in die Umgebung exportiert habe wurde dort automatisch gesucht.

Dann allerdings sowohl mit dem Name .user.ini als auch php.ini


¹)

1.) Die „netten“ Snaps von Ubuntu 22.04 dürfen aus unbekannten Gründen nicht auf /tmp zugreifen. Das ist ein Horror, wenn man z.B. mal schnell ein Bildschirmfoto temporär ablegen und via Browser hochladen will.

2.) Wenn man schon $HOME verschlüsselt ist, dann ist es einfach mal Mist wenn das nicht weniger private temporäre Zeug im Klartext auf der Platte herumliegt.

Die Lösung stelle ich gleich mal vor:

### (New) File: /etc/profile.d/02_tmpdir.sh
### Rechte: root root, 755

# Standard:
export TMPDIR="${HOME}/tmp/";

# Meine Typos:
export TEMPDIR="${HOME}/tmp/";
export TEMP="${HOME}/tmp/";
export TMP="${HOME}/tmp/";


# Verzeichnis leeren bzw. neu anlegen
# wenn dieses die einzige Sitzung
# des sich einloggenden Benutzers ist:

if [ 1 -eq $(/usr/bin/w | /usr/bin/grep "${USER}" | /usr/bin/wc -l) ]; then
    rm -rf ${TMPDIR};
fi

if [ ! -d "${TMPDIR}" ]; then
    /usr/bin/mkdir "${TMPDIR}";
fi

Und dann natürlich eine der obigen Variablen benutzen. ${TMPDIR} ist übrigens die korrekte, die von Anwendungen erkannt und genutzt wird.