Graal666
@Graal666
Тружусь

Как решить проблему с ошибкой: open_basedir restriction in effect. File(/home/u314597346/public_html/tmp) is not within the allowed path(s)?

Уважаемые специалисты. Помогите чайнику решить проблему с обновлением Joomla!
На данный момент сайт расположен на бесплатном хостинге hostinger.ru, делаю сайт для себя, поэтому только разбираюсь во всех тонкостях. Сегодня выдалось свободное время и я решил позаниматся своим сайтом, зашел в админпанель loomla и у меня появились оповещения об обновлении самой joomla, шаблона shaper_helix3 и русского языка. Когда зашел в обновление, передо мной стала красоваться отвратительная надпись (увиденная мною впервые):
Warning: is_writeable(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/administrator/components/com_installer/models/warnings.php on line 104
spoiler
1e7259d113904a5383c1c2234006e4a6.jpg
я не обращая внимания нажал на обновление и естественно получил на экране большую фигу с ошибкой.
Естественно я закричал "-Ok! Губль!", но он показал мне ответы в которых разобраться мне оказалось не под силу.
Дальше я полез по пути выданной ошибки, искать warnings.php и там нашел много непонятных строк:
spoiler
Вот выдержка последних строк
[28-Apr-2017 04:04:13 UTC] PHP Warning: file_exists(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/filesystem/file.php on line 397
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_dir(): open_basedir restriction in effect. File(/home/u314597346/public_html) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/filesystem/folder.php on line 479
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_dir(): open_basedir restriction in effect. File(/home/u314597346) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/filesystem/folder.php on line 479
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_dir(): open_basedir restriction in effect. File(/home) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/filesystem/folder.php on line 479
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/filesystem/folder.php on line 479
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_file(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp/Helix3_template_j3_v2.0.zip) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/joomla/archive/zip.php on line 135
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_file(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp/) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/cms/installer/helper.php on line 300
[28-Apr-2017 04:04:13 UTC] PHP Warning: is_file(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp/home/u314597346/public_html/tmp/) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/libraries/cms/installer/helper.php on line 304
[28-Apr-2017 04:48:30 UTC] PHP Warning: is_writeable(): open_basedir restriction in effect. File(/home/u314597346/public_html/tmp) is not within the allowed path(s): (/home/u850868817:/tmp:/var/tmp:/opt/php-7.0/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/u850868817/public_html/administrator/components/com_installer/models/warnings.php on line 104
Полностью текст файла не вошел, поэтому если кому то может пригодится он вот ссылка на весь текст файла
Поэтому уважаемые специалисты, стоя на коленях и печатая о своих проблемах, прошу, расскажите в чем может быть проблема? Как от нее избавиться? Растолкуйте какие действия нужно предпринять и не допустить в дальнейшем данных проблем.

P.S. Можете даже кинуть в меня камнем.
  • Вопрос задан
  • 10378 просмотров
Решения вопроса 2
dubr
@dubr
пыхарь
open_basedir - настройка, которая ограничивает места, куда php может "лезть".

В вашем случае это директории:

/home/u850868817
/tmp
/var/tmp
/opt/php-7.0/pear
/usr/local/bin // вау!
/etc/pki/tls/certs

На шаред-хостингах значение задается "сверху" хостером и переопределить его из скрипта нельзя.

На картинке: Джумла взяла значение upload_tmp_dir - это временная директория для загрузки файлов на сервер, и попыталась проверить, можно ли туда писать. Но проверить не получилось, потому что open_basedir не пустил is_writable() к этой директории, потому что ее и ее родителей нет в списке разрешенных.

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

<?php
echo 'tmp dir: '.ini_get('upload_tmp_dir')."<br />";
echo 'doc root: '. $_SERVER['DOCUMENT_ROOT'];


и посмотрите, что он выведет. Если там будут разные uXXXX - надо спрашивать хостера, чо за. Если оба будут u850868817 - надо искать, откуда взялся u314597346.
Ответ написан
Mark54
@Mark54
Web-developer
Ошибки появляются от того, что некоторые компоненты/модули несовместимы с новой версией cms.
Попробуй вызвать шамана и успокоившись перезалить компонент models, либо файл warnings.php в этом же компоненте.
Если не получится, напиши в тех. поддержку твоего хостинг-провайдера и попроси их о помощи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы