Moving wp-config.php one level up - 500 error - Nginx

admin2025-06-06  2

Closed. This question is off-topic. It is not currently accepting answers.

Questions that are too localized (such as syntax errors, code with restricted access, hacked sites, hosting or support issues) are not in scope. See how do I ask a good question?

Closed 6 years ago.

Improve this question

My wordpress installation is at /var/www/html/

I have moved the wp-config.php file one level up to /var/www/

and deleted the original file. However, I am getting a 500 error.

Within the wp-config.php there is a line that read:

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

I have read that wordpress should automatically read the wp-config if it's only one directory up. I am also using Nginx. Not sure why there is a problem here.

The solution at this thread for specifying the path

Is moving wp-config outside the web root really beneficial?

didn't work. I have tried:

<?php

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Location of your WordPress configuration. */
require_once(ABSPATH . '../var/www/wp-config.php');

UPDATE:

I was able to retrieve the following troubleshooting information:

2018/10/29 18:54:09 [error] 10017#10017: *171699 FastCGI sent in stderr:
 "PHP message: PHP Warning:  require_once(/var/www/wp-config.php): failed to
 open stream: Permission denied in /var/www/html/wp-config.php on line 8

PHP message: PHP Fatal error:  require_once(): Failed opening required
 '/var/www/html/../wp-config.php' (include_path='.:/usr/share/php') in
 /var/www/html/wp-config.php on line 8" while reading response header from upstream,

In this instance I defined line 8 as require_once(ABSPATH . '../wp-config.php');

Closed. This question is off-topic. It is not currently accepting answers.

Questions that are too localized (such as syntax errors, code with restricted access, hacked sites, hosting or support issues) are not in scope. See how do I ask a good question?

Closed 6 years ago.

Improve this question

My wordpress installation is at /var/www/html/

I have moved the wp-config.php file one level up to /var/www/

and deleted the original file. However, I am getting a 500 error.

Within the wp-config.php there is a line that read:

if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

I have read that wordpress should automatically read the wp-config if it's only one directory up. I am also using Nginx. Not sure why there is a problem here.

The solution at this thread for specifying the path

Is moving wp-config outside the web root really beneficial?

didn't work. I have tried:

<?php

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Location of your WordPress configuration. */
require_once(ABSPATH . '../var/www/wp-config.php');

UPDATE:

I was able to retrieve the following troubleshooting information:

2018/10/29 18:54:09 [error] 10017#10017: *171699 FastCGI sent in stderr:
 "PHP message: PHP Warning:  require_once(/var/www/wp-config.php): failed to
 open stream: Permission denied in /var/www/html/wp-config.php on line 8

PHP message: PHP Fatal error:  require_once(): Failed opening required
 '/var/www/html/../wp-config.php' (include_path='.:/usr/share/php') in
 /var/www/html/wp-config.php on line 8" while reading response header from upstream,

In this instance I defined line 8 as require_once(ABSPATH . '../wp-config.php');

Share Improve this question edited Oct 29, 2018 at 18:59 JoaMika asked Oct 29, 2018 at 14:17 JoaMikaJoaMika 6986 gold badges27 silver badges58 bronze badges 5
  • 1 Possible duplicate of Is moving wp-config outside the web root really beneficial? – Pat J Commented Oct 29, 2018 at 14:29
  • I have read that thread, but didn't fix the problem. I am only moving wp-config, one directory up which should be automatically detected according to codex – JoaMika Commented Oct 29, 2018 at 15:02
  • Do you still have a wp-config.php file in your WordPress site's root directory? If not, you might need to use define( 'ABSPATH', dirname( __FILE__ . '/html/' );, since your wp-config.php file isn't in the WP directory. – Pat J Commented Oct 29, 2018 at 15:37
  • According to the other thread, I created a wp-config.php file and put the path to the new wp-config - but still I am getting a 500 error. – JoaMika Commented Oct 29, 2018 at 15:40
  • See my answer. tl;dr — I think your path is incorrect, and I offer a couple ways to correct it. – Pat J Commented Oct 29, 2018 at 18:34
Add a comment  | 

1 Answer 1

Reset to default 1

In this answer, I assume the following, going by your question:

  • Your WordPress site is at /var/www/html
  • Your WordPress sites's full config file is at /var/www/wp-config.php
  • There is a small file at /var/www/html/wp-config.php that (ideally) will load /var/www/wp-config.php
  • Your /var/www/wp-config.php contains all the necessary content to run your WordPress site (ie, the code from wp-config-sample.php, updated as appropriate with your DB information, etc).
  • There are no other WordPress installations in /var/www/*

Given all that, your /var/www/html/wp-config.php file should contain the following:

<?php

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Location of your WordPress configuration. */
require_once(ABSPATH . '../wp-config.php');

or

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Location of your WordPress configuration. */
require_once(ABSPATH . '/var/www/wp-config.php');

From your /var/www/html directory, the path ../var/www/wp-config.php is looking for /var/www/var/www/wp-config.php, which presumably doesn't exist.

Update

The error message: failed to open stream: Permission denied indicates that your webserver can't read the /var/www/wp-config.php file. It will at least need to read the file in order to open it.

I'd recommend asking your host to fix the permissions, or ask them how you can do it yourself. If you're self-hosting on a *nix VPS or something similar, you'll be looking for the chown and/or chmod commands.

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749223175a317395.html

最新回复(0)