我正在开发Twitter登录应用程序
我的config.php
是:
//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");
但是我收到了这个错误:
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
我的目录结构包含以下文件夹:
qa-plugin/twitter-oauth-login/some files
答案 0 :(得分:0)
由于你的open_basedir,你不允许在你的root之外包含任何php文件。更改此设置,或移动QA_BASE_DIR当前所在的位置。
答案 1 :(得分:0)
您尝试包含不在open_basedir
。
将所有内容移至/home/
,或将/usr/local/apache/htdocs/
添加至open_basedir
。
答案 2 :(得分:0)
open_basedir限制将PHP限制为访问树中的文件。您尝试包含的文件可能不在该树之外?