Друпал 5.5.
image 5.x-1.7
После переноса сайта на другой хостинг не правильно работает модуль. Не дает загрузить фото и при создании фото выдает сообщение:
warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): in www/includes/file.inc on line 227.
warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File() is not within the allowed path(s): in www/includes/file.inc on line 240.
warning: realpath() [function.realpath]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): in www/includes/file.inc on line 287.
Директория images не существует.
warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): in /www/includes/file.inc on line 90.
You must upload an image.
Директория image на самом деле создана, права доступа назначены.
В чем проблема?
Спасибо.
Комментарии
проверьте настройки PHP. скорее всего, некорректно настроена переменная upload_tmp_dir (или как там её). она должна показывать в каталог внутри вашего дерева каталогов.
Нечто вроде
php_value upload_tmp_dir /home/ваш_хомяк/tmp/
php_value upload_max_filesize "7M"
php_value post_max_size "10M"
по крайней мере, так у меня на .masterhost.
Да, каталог этот надо создать и права на него дать.
Уважаемый Akzhan, рас уж речь вами ведется о мастерхосте - такой вопрос:
Залил сайт на сервак... но картинки не грузятся... Image Assist пишет следующее:
* Выбранный файл /var/www/vhosts/name.ru/httpdocs/files/tmp/tmp_1Uf6oF не удается скопировать.
* You must upload an image.
Как такое победить?
мастерхост - сервер v4589
Ветка обсуждения вот здесь... но проблема не решена...
http://drupal.ru/node/12667
Ответил Вам там.
Если не поможет, пишите ssh мне приватом. Я посмотрю. Потом не забудьте поменять![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Каталог, как я уже писала, создан - www/ files/tmp, как того и требует Друпал, права даны. Phpinfo.php показывает php_value upload_tmp_dir /home/u36506/blagoslovi.ru/tmp/
Вам нужно перенастроить эту переменную или переменную base_dir так, чтобы каталог для временных файлов располагался внутри базового каталога.
PHP ругается именно на то, что каталог для временных файлов лежит не там, где надо.
Возможно, вам тоже имеет смысл выключить safe mode.
php_value open_base_dir /home/u36506/blagoslovi.ru/
php_value upload_tmp_dir /home/u36506/blagoslovi.ru/tmp/
и проверить или создать каталог /home/u36506/blagoslovi.ru/tmp/ с правами 777 (rwxrwxrwx).
Вчера целых пару часов потратила на то, чтобы переопределить open_basedir и upload_tmp на виртуальном хостинге. Не получилось.
Сегодня подумала и решила, что пожалуй должен быть способ, чтобы друпал работал с этой директорией.
Ларчик открывался настолько просто, что даже обидно.
Сообщаю, если у кого будет подобная проблема и вдруг, как меня, заклинит:
надо на странице "файловая система" http://www.moydrupalsite.ru/admin/settings/file-system прописать
/home/uxxxx/moydrupalsite.ru/tmp/
спасибо всем, кто думал над моей проблемой
эти переменные переопределяются в .htaccess, если хостинг виртуальный![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
я проверю сегодня, почему у Вас н получилось, на тестовой инсталляции.
Но я рад, что Вы решили проблему через Drupal![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
----эти переменные переопределяются в .htaccess, если хостинг виртуальный![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Да нет, не все так просто - два часа мучилась, не переопределяются и техподдержка ответила, что это невозможно.
Чёрт, это я виноват.. Я игрался со своими серверами, протупил, что виртуальный хостинг наверняка имеет настройки php_admin_value, которые переопределить нельзя.
Бывает, я к этому уже привыкла, тоже туплю иногда. Перенесла с РБК 2 сайта, а последний оставила на потом - устала. Далее в течение двух недель любая попытка зайти через shell дабы сделать бэкап базы данных и скинуть на Мастерхост оканчивалась невозможностью соединения. Поскольку я от них ушла из-за неподходящей для Волговятского региона маршрутизации, списывала проблему к траблам Ростелекома.![Lol](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/lol.gif)
В техподдержку обращаюсь только, когда понимаю - лопну, но ничего не сделать. Поэтому маялась сама.
Сегодня ехала в автобусе и додула до истины! Дело в том, что я привыкла к услугам Мастерхоста, где Host name - uхххх.ssh.masterhost.ru, а у РБК Host name - это доменное имя. Загвоздка была в том, что доменные имена все я перевела на Мастерхост. Черт бы их побрал за такие настройки. Только, поняв это, я смогла-таки достучаться до сгинувшей на РБК базы данных. Через броузер, PHPmyadmin, экспорт - на свой компьютер - на мастерхост . Она была маленькая (в сжатом виде всего 300 килобайт), но все равно неприятно было бы настраивать все с нуля.
Так вот надо же было две недели так тупить, ну и в самом начале оставить перенос бэкапа на потом.
надо на странице "файловая система" http://www.moydrupalsite.ru/admin/settings/file-system прописать
/home/uxxxx/moydrupalsite.ru/tmp/
Можно проще - указать относительный путь например tmp без слеша впереди.
jerboa7
Огромное СПАСИБО!
Были проблемы и уже начали подумывать сменить хостинг у заказчика, но Вы выручили.
что-то совсем не получается.
тоже переехал на мастерхост, и картинки перестали загружаться
http://www.moydrupalsite.ru/admin/settings/file-system зашёл
Путь файловой системы:
sites/default/files
Временная папка:
/home/u148210/cavingclub.ru/tmp
а оно всё равно ругается
warning: imagejpeg() [function.imagejpeg]: open_basedir restriction in effect. File(/t_про еще нерожденную рыбку.jpg_0) is not within the allowed path(s): (/home/u148210/) in /home/u148210/cavingclub.ru/www/includes/image.gd.inc on line 212.
warning: imagejpeg() [function.imagejpeg]: Invalid filename in /home/u148210/cavingclub.ru/www/includes/image.gd.inc on line 212.
Успешно загружено 1 изображений
=/
что я делаю не так?