Краткая история:open_basedir не позволит мне писать файл, но каталог кажется правильным?
Я получаю ограничение open_basedir в моем php-скрипте - простой сценарий «сценарий записи нового файла на диск». Мне кажется, что у меня правильные настройки open_basedir, и файл находится в нужном месте - но не повезло, просто одна и та же ошибка каждый раз. Я искал аналогичные проблемы open_basedir на этом сайте, но я не видел таких проблем - где каталог выглядит правильно, но он все еще вызывает ошибки.
Мои догадки относительно того, что проблема:
1) open_basedir не работает так, как я думаю, что это делает
2) Мои настройки неправильны, и я просто не вижу его
3) Это на самом деле что-то еще, например, разрешения на чтение/запись IIS и т. д.
4) ???
Длинная история:
Я работаю на сервере IIS с PHP, и я пытаюсь получить следующий фрагмент кода, чтобы работать (простой тест записи файла):
date_default_timezone_set('America/Chicago');
$myFile = 'testfile.txt';
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Some Text\n";
fwrite($fh, $stringData);
$stringData = "Some More Text\n";
fwrite($fh, $stringData);
fclose($fh);
Это PHP скрипт находится в каталоге C: \ Inetpub \ Wwwroot \ ВебКаталог \ test_write.php на моем сервере
Вот мои настройки php.ini для open_basedir:
open_basedir = C: \ Inetpub \ Wwwroot; C: \ Inetpub \ wwwroot \ WEBDIRECTORY
Всякий раз, когда я открываю страницу сценария, я ожидаю, что не будет выхода, а затем, когда я вернусь, на сервере появится новый файл. Это то, что я получаю вместо этого:
Предупреждения: FOPEN(): open_basedir ограничения в силе. файла (testfile.txt) не находится в пределах допустимого пути (ы): (C: \ Inetpub \ Wwwroot) в C: \ Inetpub \ Wwwroot \ ВебКаталог \ test_write.php на линии 5 Внимание: FOPEN (testfile.txt): не удалось открыть поток : Операция не допускается в C: \ Inetpub \ Wwwroot \ ВебКаталог \ test_write.php в строке 5 не может открыть файл
Я пробовал много перестановки: первоначально линия open_basedir была только
open_basedir = c: \ inetpub \ wwwroot
... но это не сработало, либо.
Я также попытался ввести абсолютный путь для файла testfile.txt (c: \ inetpub \ wwwroot \ WEBDIRECTORY \ testfile.txt и т. Д.) Вместо имени самого файла, и я продолжаю получать ту же ошибку сообщение.
Любые идеи? Большое спасибо за Вашу помощь.
Вот две статьи, которые могут помочь. Возможно, вы входите в путь. http://bytes.com/topic/php/answers/7819-open_basedir-errors (он находит ответ в нижней части потока). http://www.kavoir.com/2009/06/php-open_basedir-in-phpini-to-limit-php-file-accesses-to-a-certain-directory.html (общее описание open_basedir) – Jim