![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Использую ф-ию tempnam для создания файла в нужной мне директории. На локальном хостинге (читай Denwer) всё работает отлично, а на рабочем на этой ф-ии всё обрубается и появляется ошибка (варнинг):
Следующие далее ф-ии fopen и др. также не срабатывают. Наверняка кто-то сталкивался с подобным, помогите решить проблему! Исходить следует из того, что доступа к php.ini нет. |
|||
|
||||
| Fally |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: 3 Всего: 4 |
Блин, доступ тебе не разрешён к этой категории и всё, от сюда и варнинг... потому что скорее всего включён safe_mode.
Чтобы решить проблему зайди сначала сюда, а затем поиграйся ini_set() /если склероз не подводит, то можно изменить значение переменной open_basedir/ |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
В первом параметре надо указать путь к доступной для PHP папки, где бы вы хотели, чтобы создавались временные фалы.
|
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Mal Hack, а какая папка в режиме safe_mode доступна для создания/редактирования/удаления файлов по дефолту?
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
При чем тут safe mode и при чем тут по умолчанию? Любая папка, до которой PHP может добраться. Корень веб сервера - предел.
|
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
У вас в варнинге указаны доступные пути (/home/sitename/data:.). Т.е. /home/sitename/data и все вышестоящие директории и . (текущая, откуда запускается скрипт) и все вышестоящие директории. |
|||
|
||||
| Burrr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
sTa1kEr
Проверка показала, что ни одна из этих директорий не позволяет создавать - редактировать файлы. Режим safe_mode, как выяснилось, не включён:
Почему же появляется ошибка? Это сообщение отредактировал(а) Burrr - 27.7.2007, 12:16 |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Папку укажи, блин, куда PHP может достучаться...
Мы же кода твоего не видим... |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Mal Hack, я указывал абсолютный путь к множеству папок, например:
$filename = tempnam("/home/sitename/data/www/faces/tmp", "jpid"); И все папки выше тоже пробовал: $filename = tempnam("/home/sitename/data/www/faces", "jpid"); $filename = tempnam("/home/sitename/data/www", "jpid"); $filename = tempnam("/home/sitename/data", "jpid"); $filename = tempnam("/home/sitename", "jpid"); $filename = tempnam("/home", "jpid"); - бесполезно. также пробовал $filename = tempnam(".", "jpid"); Результат всегда один, как я и писал в первом посте. Что можно сделать? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Пробуем так.
1. Файлу даете еще и расширение, .aaa, например, т.к. это не принципиально. 2. Пробуйте в качестве папки ./ 3. 1 и 2 пункт вместе. Если не сработает, значит это просто запрещено системой... |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Mal Hack, а через chmod можно как-то попробовать? Какие опции нужно выставить?
Или через ini_set? Я в этом плохо понимаю, поэтому пока не пробовал. Что нужно прописать? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Вы можете сделать то, что я попросил?
|
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Mal Hack, ессно сделал, не работает ни в одном из предложенных вариантов...
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Покажите ваш код, пожалуйста полностью.
Есть сделать fwrite( "таже папка что и tempname/aaa.aaa" , "w" ); файл создастся? |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 1 Всего: 20 |
Mal Hack, ты очевидно имел в вижу fopen, а не fwrite.
Выполнил fopen("./aaa.tmp" , "w"); Пишет fopen(./aaa.tmp) [function.fopen]: failed to open stream: Permission denied in ... Ошибка как раз на эту строку. Через chmod что-то изменить тоже не получилось, ставил chmod(".", 0755) |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |