#37220 closed defect (bug) (worksforme)
Improvement symlinks on wp-config.php
Reported by: | grazianognoll | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 4.5.3 |
Component: | Bootstrap/Load | Keywords: | |
Focuses: | Cc: |
Description (last modified by )
Hello,
i noticed working on a wordpress website that if the website is in a directory (es. /var/www/releases/3/
) and the web root is pointing through a symbolic link ( so. /var/www/current/
pointing to /var/www/releases/3/
) the function in the wordpress config is not retrieving the right directory:
if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');
I solved manually defining ABSPATH
to the right directory, but i think it would be better to fix if maybe checking if the directory is a symlink.
The problem is that from php5 __FILE__
is reporting the absolute path, so it may be better to use $_SERVER['PWD']
to retrieve the path:
<?php echo $_SERVER['PWD'] ."\n"; ?>
would be
/var/www/current
Thanks,
Emanuele.
Change History (4)
Note: See
TracTickets for help on using
tickets.
Hi @grazianognoll,
Thanks for the report! I've found great success in using
is_link()
http://php.net/manual/en/function.is-link.php andreadlink()
http://php.net/manual/en/function.readlink.php.i.e. some variation of the following;
Also, if you're into using symlinks with a custom deploy strategy, I highly recommend giving https://github.com/roots/bedrock a look. They push the boundaries a little so require you to have PHP 5.6.
There's definitely ways of making this work, so I'm going to close this as 'worksforme' but if you think that's not true in your case, please feel free to reply.