Сегодня возник косяк с сервером и вместо сайта выдает текст ошибки, что на скриншоте выше + ещё 14 бонусных ошибок следом. Но я думаю не стоит расстраиваться, в этой статье мы решим эту проблему.
И так вот эта веселая ошибка текстом:
is_file(): open_basedir restriction in effect. File(/usr/share/pear/Twig_Loader_Filesystem.php) is not within the allowed path(s): (/var/www/…/data:.)
/var/www/…/data/www/…./framework/yiilite.php(225)
сайт убрал специально, что бы было легко понять ( вместо сайта стоят …).
else if(isset(self::$_coreClasses[$className]))
include(YII_PATH.self::$_coreClasses[$className]);
else {
// include class file relying on include_path
if(strpos($className,'\\')===false) // class without namespace
{
if(self::$enableIncludePath===false) {
foreach(self::$_includePaths as $path)
{
$classFile=$path.DIRECTORY_SEPARATOR.$className.'.php';
if(is_file($classFile))
{
include($classFile);
break;
}
}
}
else
include($className.'.php');
}
else // class name with namespace in PHP 5.3
{
$namespace=str_replace('\\','.',ltrim($className,'\\'));
Решение данной ошибки простое
Просто находим httpd на своем сервере для конкретного домена и меняем в двух строчках текст путь на «none». Ниже выкинул весь конфиг для данного сайта, а за ним исправленный конфиг.
ServerName help2site.ru
ServerAlias www.help2site.ru
DocumentRoot /var/www/help2site.ru/data/www/help2site.ru
ServerAdmin support@help2site.ru
AddDefaultCharset off
SuexecUserGroup help2site.ru help2site.ru
CustomLog /var/www/httpd-logs/help2site.ru.access.log combined
ErrorLog /var/www/httpd-logs/help2site.ru.error.log
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f mon3123123@gmail.com"
php_admin_value upload_tmp_dir "/var/www/help2site.ru/data/mod-tmp"
php_admin_value session.save_path "/var/www/help2site.ru/data/mod-tmp"
php_admin_value open_basedir "/var/www/help2site.ru/data:."
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f mon3123123@gmail.com"
php_admin_value upload_tmp_dir "/var/www/help2site.ru/data/mod-tmp"
php_admin_value session.save_path "/var/www/help2site.ru/data/mod-tmp"
php_admin_value open_basedir "/var/www/help2site.ru/data:."
Options +Includes -ExecCGI
php_admin_flag engine on
php_admin_flag engine on
DirectoryIndex index.html
AddDefaultCharset UTF-8
Стоит обратить внимание на следующую строку
php_admin_value open_basedir "/var/www/help2site.ru/data:."
и заменить её на эту
php_admin_value open_basedir "none"
Ниже правильно изменённый конфиг для сайта с уже внесенными исправелниями:
ServerName help2site.ru
ServerAlias www.help2site.ru
DocumentRoot /var/www/help2site.ru/data/www/help2site.ru
ServerAdmin support@help2site.ru
AddDefaultCharset off
SuexecUserGroup help2site.ru help2site.ru
CustomLog /var/www/httpd-logs/help2site.ru.access.log combined
ErrorLog /var/www/httpd-logs/help2site.ru.error.log
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f support@help2site.ru"
php_admin_value upload_tmp_dir "/var/www/help2site.ru/data/mod-tmp"
php_admin_value session.save_path "/var/www/help2site.ru/data/mod-tmp"
php_admin_value open_basedir "none"
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f support@help2site.ru"
php_admin_value upload_tmp_dir "/var/www/help2site.ru/data/mod-tmp"
php_admin_value session.save_path "/var/www/help2site.ru/data/mod-tmp"
php_admin_value open_basedir "none"
Options +Includes -ExecCGI
php_admin_flag engine on
php_admin_flag engine on
DirectoryIndex index.html
AddDefaultCharset UTF-8
Обязательно после сохранения перезагрузить httpd службу или весь сервер ( не принципиально)
Поздравляю на этом все!
Если остались вопросы по данному решению, пишите в комментариях, будем рады помочь и ответить на ваши вопросы.