php – 使用include时无法直接访问脚本
发布时间:2020-12-13 17:45:36 所属栏目:PHP教程 来源:网络整理
导读:我有一个 PHP驱动的CMS网站.我想在 PHP脚本中包含database.php. database.php位于config文件夹中,并具有数据库连接详细信息(pass,db_name等). 这是脚本: ?php echo __DIR__ ."br /br /"; //make sure your assumptions on directories and path are correct
我有一个
PHP驱动的CMS网站.我想在
PHP脚本中包含database.php. database.php位于config文件夹中,并具有数据库连接详细信息(pass,db_name等).
这是脚本: <?php echo __DIR__ ."<br /><br />"; //make sure your assumptions on directories and path are correct for the //include below include '../application/config/database.php'; ?> 运行脚本,我收到此消息:
在database.php的第一行是这一行: <?php defined('SYSPATH') or die('No direct script access.'); 我猜这个CMS已经以某种方式“保护”了配置文件,这阻止了我将其包含在内.什么是“无直接脚本访问”?谷歌为我提供了许多寻求添加此功能的人的例子.我希望将其删除.可能?可能性有多大?我怎么告诉PHP让我访问database.php? 解决方法
解决这个问题的基本方法是在应用程序的某个地方(在加载database.php之前),有一条线路:
define( 'APPLICATION_LOADED',true ); 在database.php中有一个针对此执行的检查,类似于: if( !defined('APPLICATION_LOADED') || !APPLICATION_LOADED ) { die( 'No direct script access.' ); } 查看database.php及其包含的任何文件,以确定它是如何检查脚本是否被直接访问.然后,如果要在脚本中包含该文件,则可以模拟必要的条件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |