К вам насущный вопрос.
После переноса админки с http в https - директорию(сервак тот же) перестала работать загрузка файлов на сервер. Сам файл таки загружается во временную директорию /tmp, т.к. его видно через is_uploaded_file()
Но при попытке покласть его в нужную папку получаем
PHP Warning: move_uploaded_file(): open_basedir restriction in effect. File
(/var/www/vhosts/***.ru/httpdocs/img/products/icons/product_245_icon.jpg) is not within the allowed path(s): (/var/www/vhosts/***.ru/httpsdocs:/tmp) in /var/www/vhosts/***.ru/httpsdocs/staff/classes/fileUpload.php on line 37, referer: https://***.ru/catalog/products/add-products.php?id=245&action=mod
Попытки прописать в php.ini
open_basedir = "/var/www/vhosts/***.ru/", так же как и
open_basedir = "/var/www/vhosts/***.ru/ :/tmp"
ни к чему не привели.
Господа, помогите кто чем может, буду очень рад совету или линку в правильном направлении.
Спустя 14 минут, 57 секунд (10.04.2009 - 05:39) Guest написал(а):
Собственно кусок кода отвечающий за сие действие
PHP |
function saveFile($file, $saveAs, $key) |
Спустя 5 минут, 49 секунд (10.04.2009 - 05:45) Гость_Николай написал(а):
Ну и разумеется на все папки для загрузки стоят права доступа 777
Спустя 1 час, 47 минут, 19 секунд (10.04.2009 - 07:33) Viking написал(а):
Цитата |
(/var/www/vhosts/***.ru/httpdocs/img/products/icons/product_245_icon.jpg) is not within the allowed path(s): (/var/www/vhosts/***.ru/httpsdocs:/tmp) |
я так понимаю что нужно полностью все пути прописывать
open_basedir = "/var/www/vhosts/***.ru/httpdocs/img/products/icons/"
Спустя 6 минут, 24 секунды (10.04.2009 - 07:39) Гость_Николай написал(а):
Спасибо за ответ.
Проблема в том, что все, что идет после httpdocs/ - динамически выставляемый путь.
Т.е. придется прописать в open_basedir как минимуму 4-5 вариантов путей.
Не по феншую
, но попробую сделать как вы посоветовали, спасибо.
Проблема в том, что все, что идет после httpdocs/ - динамически выставляемый путь.
Т.е. придется прописать в open_basedir как минимуму 4-5 вариантов путей.
Не по феншую

Спустя 17 минут, 7 секунд (10.04.2009 - 07:56) Viking написал(а):
проверил, похоже дело в чем-то другом...
Спустя 2 минуты, 16 секунд (10.04.2009 - 07:58) Viking написал(а):
если судить по этому сообщению - в open_basedir путь неправильно прописан
(/var/www/vhosts/***.ru/httpdocs/img/products/icons/product_245_icon.jpg) is not within the allowed path(s): (/var/www/vhosts/***.ru/httpsdocs:/tmp)
точнее похоже что $fileLocation = $this->server_dir.$this->upload_dir.$saveAs.'.'.$register старый путь возвращает, т.е. с httpdocs вместо httpsdocs
(/var/www/vhosts/***.ru/httpdocs/img/products/icons/product_245_icon.jpg) is not within the allowed path(s): (/var/www/vhosts/***.ru/httpsdocs:/tmp)
точнее похоже что $fileLocation = $this->server_dir.$this->upload_dir.$saveAs.'.'.$register старый путь возвращает, т.е. с httpdocs вместо httpsdocs
Спустя 39 минут, 42 секунды (10.04.2009 - 08:38) Гость_Николай написал(а):
Не совсем 
Вобщем админка находится в https, а сайт в http.
Все файлы закачиваемые через админку кладутся в директории сайта, ну или должны туда складироваться по плану
Пока сайт и админка были на http все работало на ура, как только админку решено было перекинуть на https появились проблемы с загрузкой файлов.

Вобщем админка находится в https, а сайт в http.
Все файлы закачиваемые через админку кладутся в директории сайта, ну или должны туда складироваться по плану

Пока сайт и админка были на http все работало на ура, как только админку решено было перекинуть на https появились проблемы с загрузкой файлов.
Спустя 24 минуты, 53 секунды (10.04.2009 - 09:03) RealMan написал(а):
вы качестве диогностирования пару вопросов:
1. проверить черзе phpinfo(); меняется нет оупенбайздир
2. папка темп с загруженым файлом открывается вообще? т.е. не копируй функцией move_uploaded_file(): а сделай открыть любой файл или прочитать содержимое папки.
1. проверить черзе phpinfo(); меняется нет оупенбайздир
2. папка темп с загруженым файлом открывается вообще? т.е. не копируй функцией move_uploaded_file(): а сделай открыть любой файл или прочитать содержимое папки.
Спустя 5 часов, 9 минут, 29 секунд (10.04.2009 - 14:12) Viking написал(а):
не сталкивался с таким, но раз он выводит the allowed path(s): (/var/www/vhosts/***.ru/httpsdocs:/tmp) такое впечатление, что эти пути задаются где-то более глобально и php.ini их не может изменить
Спустя 2 минуты, 39 секунд (10.04.2009 - 14:15) Viking написал(а):
ну или вы забыли апач перезапустить после изменения php.ini

Спустя 2 дня, 15 часов, 57 минут, 43 секунды (13.04.2009 - 06:13) Гость_Николай написал(а):
Спасибо, комрады. Ушел тестить
О результатах отпишусь.

О результатах отпишусь.
Спустя 1 день, 5 часов, 51 минута, 28 секунд (14.04.2009 - 12:04) Гость_Николай написал(а):
Странно.
Почему-то скрипты, в папке /var/www/vhosts/***.ru/httpsdocs/ не видят даже самой дириктории /var/www/vhosts/***.ru/httpdocs/ , не говоря уже об вложенном в нее, зато отлично сохраняют загруженные файлы в любой директории из /var/www/vhosts/***.ru/httpsdocs/
Почему-то скрипты, в папке /var/www/vhosts/***.ru/httpsdocs/ не видят даже самой дириктории /var/www/vhosts/***.ru/httpdocs/ , не говоря уже об вложенном в нее, зато отлично сохраняют загруженные файлы в любой директории из /var/www/vhosts/***.ru/httpsdocs/
Спустя 31 минута (14.04.2009 - 12:35) Гость_Николай написал(а):
Цитата (RealMan @ 10.04.2009 - 06:03) |
1. проверить черзе phpinfo(); меняется нет оупенбайздир 2. папка темп с загруженым файлом открывается вообще? |
1. Меняется, все гуд.
2. Темп открыть не могет, т.к. почему-то не видит директорий выше httpsdocs, что при этом не мешает скрипту копировать из /tmp/ в любую директорию с правами 777 из httpsdocs
Спустя 19 часов, 46 минут, 45 секунд (15.04.2009 - 08:22) RealMan написал(а):
даже незнаю ...
в ум приходит только поставить костыль в виде:
сделать симлинк на папку аплоад.
в ум приходит только поставить костыль в виде:
сделать симлинк на папку аплоад.
Спустя 2 дня, 4 часа, 49 минут, 41 секунда (17.04.2009 - 13:12) Гость_Николай написал(а):
Из-за настроек сервака скрипт заперт в директории своего сайта, в данном случае httpdocs или httpsdocs директориях, поэтому скрипт тупо не видит папки выше корневой директории сайта.
Спасибо за уделенное мне время и советы
Спасибо за уделенное мне время и советы
