[wp-hackers] wp-config.php defining value of ABSPATH

Andrew Nacin wp at andrewnacin.com
Sun Feb 9 16:53:52 UTC 2014


That's a wasted stat call to see if the file exists. If the constant is
already defined (as it should be, if wp-load.php is the entry point), then
nothing will happen. If wp-config.php is somehow the entry point and WP
isn't in a subdirectory (by far most common), then it'll still work (this
is the back compat).


On Sun, Feb 9, 2014 at 11:37 AM, Utkarsh Dixit <utkarsh.dixit11 at gmail.com>wrote:

> @Andrew Nacin
> Won't adding this condition be better?
>
>
> if(file_exists(ABSPATH . 'wp-settings.php'))
>          require_once(ABSPATH . 'wp-settings.php');
>
>
>
> On Sun, Feb 9, 2014 at 9:37 PM, Andrew Nacin <wp at andrewnacin.com> wrote:
>
> > wp-load.php was new in WordPress 2.6 when we made it so you could put
> > WordPress in its own directory but leave wp-config.php outside of it (for
> > SVN externals & git submodules reasons). The include from wp-config.php
> is
> > there for backwards compatibility reasons, and yes obviously doesn't work
> > in this setup.
> >
> > https://core.trac.wordpress.org/ticket/6933
> > On Feb 9, 2014 11:00 AM, "Utkarsh Dixit" <utkarsh.dixit11 at gmail.com>
> > wrote:
> >
> > > What I meant was let my wordpress be installed in a location like
> > >
> > > http://example.com/web/wp/
> > >
> > > but my wp-config.php file (not any other) is in
> > >
> > > http://example.com/web/
> > >
> > > folder, then if I open
> > >
> > > http://example.com/web/wp-config.php
> > >
> > > it will give a fatal error on the line :
> > >
> > > require_once(ABSPATH . 'wp-settings.php');
> > >
> > >
> > > because of the condition
> > >
> > > if ( !defined('ABSPATH') )
> > > define('ABSPATH', dirname(__FILE__) . '/');
> > >
> > >
> > > Thanks for pointing out that it is defined in wp-load.php  probably
> mixed
> > > up the names (being still new to wordpress).
> > >
> > >
> > >
> > > On Sun, Feb 9, 2014 at 9:16 PM, Nikola Nikolov <nikolov.tmw at gmail.com
> > > >wrote:
> > >
> > > > It's actually defined in wp-load.php and the correct way of including
> > > just
> > > > WordPress(without parsing the request and displaying the correct
> > > template)
> > > > is actually by including wp-load.php and not wp-config.php.
> > > >
> > > > Basically wp-load.php looks in two locations for wp-config.php:
> > > >
> > > > ABSPATH . 'wp-config.php'
> > > >
> > > > and
> > > >
> > > > dirname( ABSPATH ) . '/wp-config.php'
> > > >
> > > > In the second case, wp-load.php also makes sure that in the directory
> > > where
> > > > the wp-config.php resides there is no wp-settings.php, because if
> there
> > > is,
> > > > that means that this wp-config file is actually part of a different
> > > > install.
> > > >
> > > >
> > > > On Sun, Feb 9, 2014 at 3:58 PM, Utkarsh Dixit <
> > utkarsh.dixit11 at gmail.com
> > > > >wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > I'm just a beginner to wordpress so it might sound a little naive,
> in
> > > > > wp-config.php file we have following lines of code just before
> > > including
> > > > > 'wp-settings.php'
> > > > >
> > > > > if ( !defined('ABSPATH') )
> > > > > define('ABSPATH', dirname(__FILE__) . '/');
> > > > >
> > > > >
> > > > > Seems useless to me as we already define ABSPATH in
> > wp-blog-header.php
> > > > and
> > > > > suppose if we directly open our wp-config.php file then also if it
> > is a
> > > > > level above the wordpress root directory the ABSPATH is set to the
> > > > > directory a level above the wordpress root directory which gives a
> > > fatal
> > > > > error when we include the wp-settings.php file in the next
> step.Can't
> > > we
> > > > do
> > > > > it like this?
> > > > >
> > > > > if ( !defined('ABSPATH') )
> > > > > define('ABSPATH', dirname(__FILE__) . '/');
> > > > >
> > > > > if(file_exists(ABSPATH . 'wp-settings.php'))
> > > > >          require_once(ABSPATH . 'wp-settings.php');
> > > > >
> > > > >
> > > > > It helps in removing the Fatal error which might occur.
> > > > > _______________________________________________
> > > > > wp-hackers mailing list
> > > > > wp-hackers at lists.automattic.com
> > > > > http://lists.automattic.com/mailman/listinfo/wp-hackers
> > > > >
> > > > _______________________________________________
> > > > wp-hackers mailing list
> > > > wp-hackers at lists.automattic.com
> > > > http://lists.automattic.com/mailman/listinfo/wp-hackers
> > > >
> > > _______________________________________________
> > > wp-hackers mailing list
> > > wp-hackers at lists.automattic.com
> > > http://lists.automattic.com/mailman/listinfo/wp-hackers
> > >
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> >
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>


More information about the wp-hackers mailing list