Вы не авторизованы.
Установил магазин на мастерхосте, и вылезает такая надпись:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/./templates/tmpl1//./templates/tmpl1/index.tpl.html) is not within the allowed path(s): (/home/логин/) in /home/логин/магазиин.ru/www/smarty/core/core.get_include_path.php on line 34
в чем может быть дело?
Неактивен
Пришло сообщение от службы поддержки Мастерхоста:
Это сообщение указывает на то, что путь к Вашей домашней директории не включён
в список возможных путей, указанных в параметре open_basedir в файле php.ini.
open_basedir ограничивает список директорий, внутри которых PHP скрипты могут
читать файлы. В результате, в Вашем случае ошибка выходит из-за того, что
скрипт PHP пытается открыть файл, к которому у него нет доступа.
1. Один из способов решения этой проблемы - это включить путь к домашней
директории в список путей, читаемых PHP скриптом (указанных параметром
open_basedir). Например, чтобы указать, что скрипт PHP имеет право читать
файлы из папок /home/логин, /home/логин/магазин.ru и
/home/логин/tmp используйте синтакс:
open_basedir
=/home/логин:/home/логин/магазин.ru:/home/логин/tmp
2. Так же вы можете изменить в php.ini строку display_errors = On на
display_errors = Off. Для этого Вам потребуется собственный PHP-CGI интерпретатор.
О том, как собрать свой интерпретатор или установить готовый, Вы можете узнать
по ссылке:
* http://masterhost.ru/support/doc/php/#compile
3. Или добавить в .htaccess строку php_flag display_errors off, если Вы не можете
самостоятельно собрать интерпретатор.
В связи с этим вопрос - где найти php.ini? ИЛИ Какой из способов самый лучший?
Отредактировано 101-s (2009-05-05 13:34)
Неактивен
Проблема решена другим способом, закомментировал одну хрень в файле
www/smarty/core/core.get_include_path.php
вот это:
/*foreach ($_path_array as $_include_path) {
if (file_exists($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
$params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
return true;
}
}*/
в связи с этим вопрос для тех кто разбирается в пхп - зачем нужна была эта хрень, если все прекрасно работает и без этого? Может шопскрипт несовместим с более поздними версиями пхп?
нашел тут еще одно, более изящное решение проблемы тут
всего лишь меняется file_exists(... на @file_exists(... и все пашет.
и вот еще одно решение тоже с этого форума:
Eugeny, еще раз спасибо. После обращения к хостеру получил ответ:
<<Исправили. Отключили open_basedir restriction для данного аккаунта.
И все стало на свои места.
Отредактировано 101-s (2009-06-09 19:50)
Неактивен