Per quanto ne so, il php getcwd()
(e funzioni simili, ad esempio dirname(__FILE__)
), dovrebbe restituire la directory corrente del file in esecuzione.php getcwd() risoluzione target di symlink invece della directory corrente
Se la directory corrente sembra essere un link simbolico a un'altra directory, php (presumibilmente in concomitanza con apache) deve restituire il percorso che mostra il nome link simbolico come il 'directory' siete in.
Esempio :
from /var/www,
directory 'one' contains index.php
symlink 'two' points at directory 'one'
one/index.php: <?php echo getcwd(); ?>
Accesso http://localhost/two/index.php in un browser mostra /var/www/one
.
mi aspetterei per mostrare /var/www/two
Qualcuno sa se questo è un ambiente PHP o Apache posso cambiare? O non sono in grado di utilizzare i collegamenti simbolici in questo modo?
Hai capito? Sono interessato a questo stesso caso d'uso. – kalenjordan
Apache è configurato per seguire symLinks? Mi piace 'Opzioni FollowSymLinks' –
Non penso che questo abbia nulla a che fare con Apache. È una "funzionalità" PHP. Se lo inserisci nella riga di comando 'mkdir a; ln -s a b; php -r 'chdir ("b"); echo getcwd(); '', php ti mostrerà che ti trovi in una directory chiamata' a ', anche se tu chdir() ed a' b '. – edam