Форум сетевых администраторов
Показаны 30 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 3.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=74)
-- О хранении вложений (http://netadmin.ws/forum/showthread.php?threadid=10731)


Помещено Alien 07-06-2005 в 15:13:

О хранении вложений

1. Вложения хранятся в базе.
Пробую приаттачить - ругается:

Warning: filesize(): open_basedir restriction in effect. File(/var/tmp/phpn243OX) is not within the allowed path(s): (/..../:/usr/lib/php:/usr/local/lib/php:/tmp) in /includes/functions_file.php on line 286

Вроде намекает на папку и на размер, хотя могу ошибаться. Ограничение размера - 3 Мб (файлы меньше - до 100 Кб). Папка tmp (0777) есть и в корне хоста, и в папке forum.

Смотрю код - в сообщении об ошибке строка 286:

PHP:


$filesize 
= filesize($attachment);



Что же первично в ошибке: размер, папка или вообще хостер? Как ликвидировать ошибку?


-----------------------------
2. Вложения хранятся на сервере.
Для хранения файлов на сервере требуется создать папку. А где ее лучше создать: в корне сайта или форума?
Не будучи силен в английском (перевел PROMT'ом), понял, что лучше где-нить вне корня.

If you are moving attachments into the file system, it is recommended that you do *not* place the folder under your web root (usually named public_html or www or www_root) because people will be able to bypass vBulletin's permission system and download them. Also, you will need to make the folder writeable by PHP. The easiest way to do this is CHMOD it 777 (consult your FTP, Telnet, or SSH documentation for more info on how to do this). We do not recommended that you put a folder that is CHMODed 777 under your web root - another good reason to have it located above the document root.

А где мне прописать путь к созданному каталогу?

__________________
Вечно молодой стареющий новичок...


Помещено Alien 08-06-2005 в 00:29:

Никто ничего сказать не может? Вот уж не поверю!....

__________________
Вечно молодой стареющий новичок...


Помещено kerk 08-06-2005 в 02:01:

на фтп создавай папку, например customattachments, в админке, в менеджере вложений/Метод хранения вложений/ пропиши путь до этой папки, путь можешь посмотреть там же в админке - скроль до конца вниз левое меню/Показать информацию о PHP/ там увидишь, где расположены файлы форума, свою папку с аттачами располагай каталогом выше и пропиши ей права на запись - 0777
вроде правильно все... =))


Помещено Alien 08-06-2005 в 11:24:

quote:
Первоначальное сообщение от kerk
на фтп создавай папку, например customattachments....
kerk, с созданием папки у меня вопроса не было, а где прописать путь - сам разобрался (см. скрин): следующий шаг после входа в Storage Type - как раз назначение пути.

Однако, переносить вложения на сервер, т.е. делать следующий шаг - я пока не собирался...


А вот с п.1 - затык! В чем там проблема?
Я так понимаю, что хранение вложений в базе никак не связано с настройками для хранения на сервере. Или связано? Подскажите, плз...

__________________
Вечно молодой стареющий новичок...


Помещено Alien 09-06-2005 в 03:16:

Народ! Помогите, если знаете... Засада какая-то...

С Safe Mode все понятно: отправил запрос хостеру о включении Safe Mode - ответ вполне ожидаемый:

Safe Mode глобальная настройка, которую нельзя применить к отдельно взятому аккаунту.
Если включить Safe Mode, то у остальных клиентов могут возникнуть проблемы с их движками и прочим ПО. Safe mode включить для Вашего аккаунта мы не можем...


Не в Safe Mode дело, точно! В настройках черным по белому: "если вы используете Safe Mode, то так-то" - т.е. допускается возможность, когда Safe Mode отключен.

Получается, что в базе вложения хранить вообще не удастся?

__________________
Вечно молодой стареющий новичок...


Помещено kerk 09-06-2005 в 04:13:

а зачем их там хранить?
лучше, мне кажется, перенести в отдельную папку...
давно бы уже перенес, чем мучаться со своей базой...


Помещено Alien 09-06-2005 в 04:41:

kerk, да, лучшее средство от головной боли - гильотина...

Перенести никогда не поздно, а вот с возникшей проблемой желательно разобраться. Вопрос не в том, что я мучаюсь, а в том, ПОЧЕМУ НЕ Ð_АБОТАЕТ?

__________________
Вечно молодой стареющий новичок...


Помещено Xrobak 10-06-2005 в 17:18:

возможно проблемы с хранением временных файлов, ибо вижу у тебя в ошибке проскакивает этот путь - /tmp
в настройках основных есть пункт посвященный этому, там в частности ты можеш указать путь к хранению этих временных файлов. И наверное у тебя просто нет доступа к той папке ,посему и не получается. Есть 2 способа решить ету проблему:
1) попросить хостера дать права
2) создать у себя в форуме папку под временные файлы и в настройках указать путь к этой папке, вот и все.

ЗЫ: второй метод больше тебе подходит. Осмелюсь даже не предположить, а утверждать, что дело именно в этом, а то уж больно ошибка на это намекает...


Помещено Alien 11-06-2005 в 01:21:

quote:
Первоначальное сообщение от Xrobak
Осмелюсь даже не предположить, а утверждать, что дело именно в этом, а то уж больно ошибка на это намекает...
Шибко смелое утверждение!....

Для информации: аккаунт на хостинге - под управлением CPanel; права на папку в панели устанавливаются в два щелчка, сама папка создается одним щелчком.


quote:

...в настройках указать путь к этой папке
Xrobak , замечательный и, главное, "оригинальный" совет!... А не проще было бы указать путь из своей собственной настройки?

Чтобы не смущать вас своими уже проверенными (не сработали) вариантами пути, сообщаю вам путь до папки (от корня сайта): /public_html/forum/tmp. Текст ошибки есть выше. Какой путь написать в настройках?

Напишите, а я вам сообщу результат...

__________________
Вечно молодой стареющий новичок...


Помещено Xrobak 11-06-2005 в 17:44:

_http://www.mambers.com/archive/index.php/t-577.html
_http://forums.xmbforum.com/viewthread.php?tid=753747&page=1#pid1225762
_http://www.vbulletin.com/forum/showthread.php?t=140879& highlight=Warning%3A+filesize%28%29%3A+open_basedi
r+restriction+in+effect.
_http://www.vbulletin.com/forum/search.php?searchid=69578

Когда прочитаеш эти линки, вернись к предыдущему своему посту и прочитай свою фразу про шибко смелое утверждение, и на будущее прислушивайся к тому что говорят, хоть изредка, а то общаясь в таких тонах, желание помочь тебе у многих пропадет, хотя тебе виднее, не мне тебя учить.

ЗЫ: как думаеш, когда ты сам себе хостер и когда кто-то хостится у хостера, то настройки у обоих одинаковые? Нет, посему как настроено у меня, и как у тебя не имеет значения, я сам себе хостер (если это можно так назвать, но не об этом речь).


Помещено Alien 11-06-2005 в 20:24:

quote:
Первоначальное сообщение от Xrobak
Когда прочитаеш эти линки, вернись к предыдущему...
Xrobak, за ссылки спасибо (последняя ссылка, кстати, -> Sorry - no matches. Please try some different terms). Прочитать, правда, представляет некоторые затруднения: с PROMT'ом не всегда можно понять смысл переведенного... Чуть позже, если чего-нибудь пойму в кривом переводе, вернусь к так непонравившейся тебе фразе...



quote:
Первоначальное сообщение от Xrobak
2) создать у себя в форуме папку под временные файлы и в настройках указать путь к этой папке, вот и все.

ЗЫ: второй метод больше тебе подходит. Осмелюсь даже не предположить, а утверждать...

Ответ на первую часть совета - см. скрин (да, надо было его вместо слов в свой предыдущий пост засунуть). Совершенно очевидно, что не с первой, а со второй частью у меня проблемы: пути прописывал разные - ошибка сохранялась...

__________________
Вечно молодой стареющий новичок...


Помещено Xrobak 11-06-2005 в 20:44:

чтобы последняя ссылка заработала, заходиш на на офф.сайт и нажимаеш поиск, и ищеш по фразе: Warning: filesize(): open_basedir restriction in effect

Вот один из результатов поиска - _http://www.vbulletin.com/forum/showthread.php?t=139385& highlight=Warning%3A+filesize%28%29%3A+open_basedi
r+restriction+in+effect

То что ты у себя создал папочку тмп это хорошо, а вот правильно ил путь к ней указал, это уже другое, нужно указывать полный путь, от самой папочки веб-сервера HOME, вобщем читай сам, там и без ПÐ_ОМТА можно понять.


Помещено Alien 11-06-2005 в 23:05:

quote:
Первоначальное сообщение от Xrobak
...нужно указывать полный путь, от самой папочки веб-сервера HOME, вобщем читай сам, там и без ПÐ_ОМТА можно понять.
Мда... у меня от этих "/" и ":" в глазах рябит... Xrobak, ты знаешь, советы типа "нужно" я уже читаю 5 (!) дней (в разных форумах)! Я его [совет] выучил уже, как стих. Только вот реально помочь никто "не может". Для меня строка "/usr/home/имя_аккаунта/:/usr/lib/php:/usr/local/lib/php:/tmp" (из текста ошибки) - абракадабра: где в этой конструкции, блин, начало?
Пробовал прописать много вариантов пути к своей папке, среди которых, не исключаю, есть правильный:

/home/имя_аккаунта/:/usr/lib/php:/usr/local/lib/php:/public_html/forum/tmp
/home/имя_аккаунта/usr/local/lib/php:/public_html/forum/tmp
/usr/lib/php:/usr/local/lib/php:/public_html/forum/tmp
/usr/local/lib/php:/public_html/forum/tmp
/public_html/forum/tmp

Еще какие-то писал - результат получался один: Warning: filesize(): open_basedir restriction in effect.

Сравнивал ошибки из опубликованных ответов в форумах: по-моему только у мня такой заковыристый адрес. Закономерность в написании пути, увы, не обнаружил.

----------------------
Да, чтобы исключить возможные вопросы: письмо хостеру с ошибкой отправил еще 8 июня. И ответ получил тут же:
Информация передана системному администратору по поводу open_basedir.
Ð_азберемся и если это не будет противоречить безопасности и другим сопутствующим вещам, то open_basedir будет настроен с теми параметрами, которые Вам нужны.


Только вот результата как не было, так и нет: ни от хостера, ни от коллег из русских форумов... Просмотрел (признаюсь, бегло) английские линки, а там ответы такие же - вот, например: Ask your host to change the configuration to include '/var/tmp' as allowed directory, or disable open_basedir restriction. ("кривой" перевод не привожу).
Может настройки у хостера таковы, что хоть 100-кратно правильный путь напиши, а работать все равно не будет?


P.S. Из написанных выше путей есть правильный?

__________________
Вечно молодой стареющий новичок...


Помещено Andrej 12-06-2005 в 00:05:

Alien
На сколько мне известно, подобные ошибки (open_basedir restriction in effect) возникают из-за настроек php. Тряси хостера, что бы настроил как надо. И ссылку на свой phpinfo кинь, посмотреть что там...


Помещено Alien 12-06-2005 в 00:24:

quote:
Первоначальное сообщение от Andrej
...из-за настроек php. Тряси хостера...
Andrej, а что, путь уже не важен? Трясу...

См. вложение

__________________
Вечно молодой стареющий новичок...


Помещено Andrej 12-06-2005 в 00:38:

Alien
В общем, проблема из-за директивы open_basedir. Не может скрипт читать из директории "/var/tmp/", так как эта директория не указана в списке, как разрешённая. Попробуй такой путь указать "/usr/home/buhpravd/public_html/forum/tmp/"

__________________
f9ffe3323e79b2a558b92af5b4039e20


Помещено Alien 12-06-2005 в 01:19:

Andrej, понятно: надо насиловать хостера. Если тот будет "стойким" - попрощаться...
Путь (сам по себе), конечно, не помог. Как этот путь конструируется - для меня загадка. Благодарю за подсказку.

P.S.
Кстати, для Xrobak: на XMB Forums разговор, как раз, и крутится около совета покинуть "плохого" хостера...

__________________
Вечно молодой стареющий новичок...


Помещено Xrobak 12-06-2005 в 20:19:

quote:
You have open_basedir restrictions on your server. To get uploads to work you need to create a 'tmp' subdirectory under your httpdocs directory and chmod it to 777. Then in the Admin CP set "Upload In Safe Mode?" to 'Yes' and point the "Safe Mode Temp Directory" to that directory. If you placed the tmp directory in the right place, the path to the Safe Mode Temp Directory will be:

/home/httpd/vhosts/chip.co.id/httpdocs/tmp

это я выдер из ссылки, что я тебе давал, и тут все черным по белому написано, что нужно делать. Я ж не виноват, что люди не хотят читать это, или смотрят не туда - это уже не мои проблемы, был вопрос - с моей стороны и был дан ответ.


Помещено Alien 14-06-2005 в 00:02:

quote:
Первоначальное сообщение от Xrobak
...тут все черным по белому написано, что нужно делать...
Xrobak, с одной оговоркой: на английском... Оценивать ответы на не родном языке, мягко говоря, несколько затруднительно.

Проблема у меня разрешилась.
Всем участникам темы - спасибо! Особая благодарность Andrej, поскольку наибольшую трудность представляло для меня указать правильный путь.





P.S. Сейчас все позади, но логика и обороты английского языка не дают покоя, поскольку не всегда понятны. Может быть кто-то будет так любезен, что переведет нижеследующие строки на
нормальный (не машинный) русский:

Safe Mode Upload Enabled
If your server runs PHP with SAFE MODE Restrictions, set this to yes.

Safe Mode Temporary Directory
If your server is running in PHP Safe Mode, you'll need to specify a directory that is CHMOD to 777 that will act as a temporary directory for uploads. All files are removed from this directory after database insertion.

__________________
Вечно молодой стареющий новичок...


Помещено Xrobak 15-06-2005 в 13:21:

Я тебе специально не давал перевода ответа на твой вопрос, чтобы ты научился сам добиваться результатов, раз уж ты взялся за форум, хочеш разобраться в нем, то привыкай к английскому, или изучай его, или юзай переводчики, но без него тебе будет туговато...

quote:
Включить загрузку в безопасном режиме
Если ваш сервер использует PHP в безопасном режиме (SAFE MODE), установите эту опцию в "Да". Да Нет

Временная директория безопасного режима
Если на вашем сервере PHP запущен в безопасном режиме (Safe Mode), вам потребуется указать директорию с полными правами для веб-сервера (CHMOD 777)., она будет использоваться как временная директория для загрузки файлов. После перемещения в базу данных все загруженные файлы из этой директории удаляются автоматически.

Примечание: НЕ ДОБАВЛЯЙТЕ завершающий слэш ("/") в конце названия директории.


Помещено Alien 15-06-2005 в 22:21:

Я рискую несколько отойти от темы своим последним постом (тема исчерпана) за что прошу снисхождения у модераторов.

quote:
Первоначальное сообщение от Xrobak
Я тебе специально не давал перевода ответа на твой вопрос, чтобы ты научился сам добиваться результатов... привыкай к английскому
Xrobak, а я уж хотел претензию писать на PROMT за неправильный перевод , но оказалось, что машинный перевод - правильный... Английский не знаю, но русский - мой родной, между прочим...

Если ваш сервер использует PHP в безопасном режиме (SAFE MODE), установите эту опцию в "Да"
Союз "если" в русском языке выражает условие совершения чего-нибудь. В нашем случае условием является использование SAFE MODE, и, если условие не выполняется (т.е. сервер НЕ использует), то должен следовать отрицательный ответ: "Нет". Я именно так и делал. Но в настройках, оказывается, необходимо установить противоположное логике значение - "Да". Почему?

Следующий пункт настройки
Если на вашем сервере PHP запущен в безопасном режиме (Safe Mode), вам потребуется указать директорию с полными правами для веб-сервера...
По-русски это означает ни что иное, как отсутствие необходимости указывать какой-либо путь, если не выполняется условие "если"...

Да, да, я намекаю на мягко говоря неточность формулировок в настройках - об этом говорит шквал вопросов в англоязычной сети, родной для разработчиков. В этом смысле обвинить англичан в непонимании родного языка весьма затруднительно.
Смысл же текста в русском переводе и в оригинале оказались ... одинаковыми, что в принципе не удивительно.


quote:

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

__________________
Вечно молодой стареющий новичок...


Помещено Alien 16-06-2005 в 13:11:

Формат файлов (вложений) на сервере

Переношу файлы вложений из базы на сервер в папку customattachments. Не стал доводить до конца операцию (не сделан последний шаг) и решил посмотреть, что и как перемещено.

Ожидал, откровенно говоря, не только сохранения форматов (расширений), но и имен файлов.
Получилось: весьма развлетвленная вглубь структура подпапок с цифровыми именами ("1", "2" ... "10" и т.д.), файлы же имеют имена с расширением *.attach. Вот примерно так выглядит состав папки (последние в строках три цифры - права):

/ public_html / forum / customattachments / 2 / (Current Folder)
Upload file(s)
0 777
3 777
7 777
1.attach 10 k 666
13.attach 47 k 666
154.attach 23 k 666
155.attach 22 k 666
158.attach 20 k 666
161.attach 51 k 666
162.attach 18 k 666


Скажите, при выполнении последнего шага файлы переименуются или останутся, как есть на данный момент?

__________________
Вечно молодой стареющий новичок...


Помещено kerk 17-06-2005 в 03:52:

файлы так и останутся с этим расширением
есть определенная система создания папок для каждого пользователя на форуме:
что бы не создавать для каждого узера отдельную папку, движок создает ее взависимости от ID узера, например:
ID узера = 1234, форум создаст на фтп папки 1/2/3/4/
и пихнет файл по такому пути:
1/2/3/4/file_name.attach
если это картинка, то:
1/2/3/4/file_name.attach + 1/2/3/4/file_name.thumb
представь, если у тебя на форуме несколько тысяч пользователей, и должно быть столько же папок? =))


Помещено Alien 17-06-2005 в 05:39:

kerk, любопытная информация о системе каталогов. Спасибо.

Понятно, с такой системой - найти нужный файл без админки вообще не представляется возможным. А жаль!...

__________________
Вечно молодой стареющий новичок...


Помещено Huver 17-06-2005 в 14:31:

quote:
с такой системой - найти нужный файл без админки вообще не представляется возможным. А жаль!...

Наверно это специально так разработчики сделали, чтобы прямых ссылок на файлы не давали, а то например незарегистрированные могли бы аттачи скачивать.


Помещено Ok© 04-07-2005 в 14:49:

У меня тут схожий вопрос и дабы не создавать новой темы решил спросить здесь:
После переноса форума на другой хостинг, столкнулся со следующей проблемой, при попытке вложить какую-нить картинку jpg, gif, png получаю:
Ошибки загрузки
new-2.jpg:
Неправильная картинка

Другие файлы подгружаются без проблем, в чем может быть проблема, в каких настройках?
p.s. вложения хранятся в папках.


Помещено Xrobak 04-07-2005 в 19:49:

сообщение о неправильной картинке выдается в том случае, если картинка повреждена и включен показ миниатюр у тебя.
На первый взгляд картинка может показаться вполне нормальной и не поврежденной, но попробуй открыть ее в фотошопе и увидиш совсем другое. У меня подобное раньше было, рисунки хранились во вложениях, а потом решил включить показ миниатюр и на несколько рисунков получил такое сообщение, ничего не поделаеш - удалил их и все.

ЗЫ: или у тебя абсолютно любая картинка не закачивается? Или все-таки некоторые, если некоторые - тогда ответ тебе я дал.


Помещено Ok© 05-07-2005 в 06:57:

quote:
Первоначальное сообщение от Xrobak
ЗЫ: или у тебя абсолютно любая картинка не закачивается? Или все-таки некоторые, если некоторые - тогда ответ тебе я дал.
В том-то и дело, что абсолютно любая, пробовал несколько вариантов, аватар тоже не загружается.


Помещено Xrobak 05-07-2005 в 15:51:

хм... тогда не знаю... А может у тебя в опциях установлена не та версия GD? Т.е. на старом месте у тебя ГД могло быть одной версии, а на новом месте другой, а после переноса ты эту опцию не менял.


Помещено Ok© 05-07-2005 в 15:57:

с версией GD все нормуль.

Все решилось, проблема была в особенностях хостинга, там стоял русский аппач, который перекодировал бинарные файлы.


Формат времени GMT. Текущее время 07:39.
Показаны 30 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.