0

I am working on twitter login application

my config.php is:

//My modification of Abraham's Config specifically for calling variables from the Question2Answer DB

////// First establish base directory for app
define('QA_BASE_DIR', dirname(empty($_SERVER['SCRIPT_FILENAME']) ? __FILE__ : $_SERVER['SCRIPT_FILENAME']).'/../../');
$qainc=$_SERVER['DOCUMENT_ROOT'] . '/qa-include';

////// Require the qa-base.php
require $qainc. '/qa-base.php';

////// Require the qa-db, connect to the db, and provide a fail handler
////// As Adam Savage says "Failure is Always an Option"
require $qainc. '/qa-db.php';
$failhandler ='Database Connection Failure';    
$connect=qa_db_connect($failhandler);

//////Get the variables for the Twitter Details
$TW_CALLBACK_URL=qa_opt('TW_CALLBACK_URL');
$TW_CONSUMER_KEY=qa_opt('TW_CONSUMER_KEY');
$TW_CONSUMER_SECRET=qa_opt('TW_CONSUMER_SECRET');
$TW_OAUTH_TOKEN=qa_opt('TW_OAUTH_TOKEN');
$TW_OAUTH_SECRET=qa_opt('TW_OAUTH_SECRET');

//////Define the variables
define('CONSUMER_KEY', "$TW_CONSUMER_KEY");
define('CONSUMER_SECRET', "$TW_CONSUMER_SECRET");
define('OAUTH_CALLBACK', "$TW_CALLBACK_URL");
define('oauth_token',"$TW_OAUTH_TOKEN");
define('oauth_secret',"$TW_OAUTH_SECRET");

But I am getting this error:

Warning: require() [function.require]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/qa-include/qa-base.php) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a7820858/public_html/qa-plugin/twitter-oauth-login/config.php on line 22


PHP Error Message 

Warning: require(/usr/local/apache/htdocs/qa-include/qa-base.php) [function.require]: failed to open stream: Operation not permitted in /home/a7820858/public_html/qa-plugin/twitter-oauth-login/config.php on line 22

PHP Error Message 

Fatal error: require() [function.require]: Failed opening required '/usr/local/apache/htdocs/qa-include/qa-base.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/a7820858/public_html/qa-plugin/twitter-oauth-login/config.php on line 22

My directory structure contains these folders:

qa-plugin/twitter-oauth-login/some files
Misa Lazovic
  • 2,805
  • 10
  • 32
  • 38
rohit
  • 1

3 Answers3

0

Because of your open_basedir, you are not allowed to include any php files outside your root. Change this setting, or move where your QA_BASE_DIR is currently at.

Evert
  • 93,428
  • 18
  • 118
  • 189
0

You're trying to include file that does not reside in directories specified in open_basedir.

Either move everything to /home/, or add /usr/local/apache/htdocs/ to open_basedir.

binaryLV
  • 9,002
  • 2
  • 40
  • 42
0

The open_basedir restriction confines PHP to accessing files within a tree. The files you're trying to include are perhaps out outside that tree?

Noufal Ibrahim
  • 71,383
  • 13
  • 135
  • 169