require_once('/recaptcha/recaptchalib.php'); was in the correct place
但错误说:
Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(C:\/recaptcha/recaptchalib.php) is not within the allowed path(s): (C:\Inetpub\vhosts\xxx.com\httpdocs\) in C:\Inetpub\vhosts\xxx.com\httpdocs\wp-content\themes\xxx\download.php on line 5
第5行指向require_once。我不确定它为什么会出错,在本地开发时它不会抱怨。
编辑#2 警告:touch()[function.touch]:无法创建文件C:\ Inetpub \ vhosts \ xxx.com \ httpdocs / csv / brochure-list.csv,因为在C:\ Inetpub \ vhosts \ xxx中没有这样的文件或目录第161行的.com \ httpdocs \ wp-content \ themes \ mta2013 \ downbrochure.php
代码:
$filename= ABSPATH. 'csv/list.csv';
$isNew = (file_exists($filename) || is_file($filename)) ? false : true ;
touch($filename); //Sets access and modification time of file and If the file does not exist, Create it.
$fp = fopen($filename, 'a+');
forceHeader($columns,$filename);
fputcsv($fp, $formData);
fclose($fp);
我可能会在这里忽略一些东西。但我添加了ABSPATH并且它无法解决错误。
编辑#3
好吧我解决了,因为目录没有设置为权限或'已识别'。谢谢您的帮助。
答案 0 :(得分:2)
这意味着你没有权限在php中包含该文件。看这里open_basedir
将该库移到vhost
文件夹中,然后使用或更改open_basedir
配置
答案 1 :(得分:1)
使用
require_once('/recaptcha/recaptchalib.php');
实际上,当您想要移动到以下文件夹时,您实际上是将PHP导向根文件夹(在Windows中为C:\
):
C:\Inetpub\vhosts\xxx.com\httpdocs\
我猜测你的服务器文件夹是httpdocs,默认情况下PHP将它作为基本目录。因此,您不需要使用/recaptcha
。因此,
require_once('recaptcha/recaptchalib.php');
效果很好。