Ta dokument opisuje:
Če uporabljaš:
⚠️ NE SMEŠ uporabljati absolutnih poti v aplikacijskih konfiguracijah, npr.:
/var/www/clients/clientX/webY/web/...
Če to narediš:
Ključna kombinacija:
Rezultat:
PHP nima pravice dostopati do direktorija,
čeprav ima filesystem pravilne pravice.
$conf['savedir'] = '/var/www/clients/client1/web2/web/data';
Zakaj je narobe:
Uporabljaj relativne poti glede na DocumentRoot:
$conf['savedir'] = './data';
Ali pusti prazno, če aplikacija podpira autodetection:
$conf['basedir'] = '';
web/ ├── conf/ ├── data/ │ ├── pages/ │ ├── cache/ │ └── locks/ ├── lib/ ├── install.php └── index.php
chown -R webX:clientY web/data web/conf chmod -R 2775 web/data web/conf setfacl -R -m u:webX:rwx,g:clientY:rwx web/data web/conf setfacl -R -d -m u:webX:rwx,g:clientY:rwx web/data web/conf
Preveri kot site user:
sudo -u webX php -r "var_dump(is_writable('data/pages'));"
Preveri PHP-FPM pool:
grep open_basedir /etc/php/*/fpm/pool.d/webX.conf
✔ Vedno uporabljaj relativne poti ✔ Nikoli ne hard-codaj `/var/www/…` ✔ Razumi, da PHP-FPM ≠ CLI ✔ Uporabi checklist pred installerjem
Na ISPConfig + PHP-FPM filesystem pravice niso dovolj –
aplikacija mora delovati znotraj open_basedir konteksta.