require_once () дал мне ошибку - PullRequest
       2

require_once () дал мне ошибку

1 голос
/ 02 апреля 2012
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 / брошюр-list.csvпотому что нет такого файла или каталога в C: \ Inetpub \ vhosts \ xxx.com \ httpdocs \ wp-content \ themes \ mta2013 \ downbrochure.php в строке 161

код:

$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

Хорошо, я решил это, потому что каталог не был установлен для разрешения или «распознан»».Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

Это означает, что у вас нет разрешения на включение этого файла в php.Смотрите здесь open_basedir Переместите эту библиотеку в папку vhost и используйте или измените open_basedir конфигурацию

1 голос
/ 02 апреля 2012

Используя

require_once('/recaptcha/recaptchalib.php');

Вы фактически направляете PHP в корневую папку (в Windows это C:\), а на самом деле хотите перейти в следующую папку:

C:\Inetpub\vhosts\xxx.com\httpdocs\

Я догадался, что папка вашего сервера - httpdocs, а PHP по умолчанию принимает ее как базовый каталог.Следовательно, вам не нужно использовать /recaptcha.Поэтому

require_once('recaptcha/recaptchalib.php');

Отлично работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...