我收到以下错误: 警告:require_once(/libraries/recaptchalib.php):无法打开流:eval()中没有此类文件或目录(/home3/quikappd/public_html/rulpon/modules/php/php.module的第3行( 80):eval()'d代码)。
在drupal 6中,我试图将captcha添加到内置了php html表单的旧内容类型中。我将captchalib文件添加到我的drupal实例中的库文件夹中,但我不断收到上面提到的错误消息。我已尝试 dirname , base_path 以及其他各种网址来访问该文件夹。我做错了什么?
这就是我对base_path -> require_once(base_path().'libraries/recaptchalib.php');
的看法
那么这是dirname -> require_once ( dirname(__FILE__) . '/libraries/recaptchalib.php');
然后直接网址-> //require_once('decon.com/sites/all/libraries/recaptchalib.php')
;
答案 0 :(得分:0)
根据base_path()
doc,它会返回一个网址细分。例如,如果drupal网站主页位于http://www.example.com/foobar
,则会返回/foobar
这就是为什么用PHP找不到包含文件的原因。
当知道文件相对于文档根目录的位置时,您可以使用:
require_once($_SERVER['DOCUMENT_ROOT']."/site/all/libraries/recaptchalib.php");
或者如果文件是模块的一部分,更好的方法是通过以下方式找到它:
drupal_get_path('module', 'name-of-module')