Фруталити
Новичок
Здравствуйте.
Пытаюсь использовать данный модуль на новом сайте, столкнулся с ошибкой. Сразу же стал дебажить (создал чистый поддомен, где нет ничего, кроме Cache_Lite и моего скрипта-теста).
Суть проблемы: при вызове метода save() происходит ошибка.
Файл там имеется.
Более того, на этом же VPS у меня хостится сайт (назовем его cacheliteworks.com), где я использую тот же самый дистрибутив Cache_Lite и там все работает. Никаких ошибок.
Если установить на сервер свежую версию: pear install Cache_Lite, то перестает работать сайт cacheliteworks.com. При этом, на test.mytestdomain.com модуль все равно не начинает работать.
Уже сломал весь мозг. Как так получается? На многих сайтах использовал Cache_Lite, а тут такое.
Пытаюсь использовать данный модуль на новом сайте, столкнулся с ошибкой. Сразу же стал дебажить (создал чистый поддомен, где нет ничего, кроме Cache_Lite и моего скрипта-теста).
PHP:
<?php
header('Content-type: text/html; charset=utf-8');
require_once 'cachelite/Output.php'; // используется не самая последняя версия модуля, но 100%-работающая на другом моем сайте
$cache = new Cache_Lite(array('cacheDir' => '/cachedir/'));
var_dump($cache); // выводит объект в браузер, все в норме
if ($a = $cache->get('asdasd')) echo "Кэш есть";
else echo "Кэша нет"; // выводится в браузер, что доказывает, что метод get работает
//else $cache->save('asdasd'); // а вот этот метод не работает
?>
Как видно из логов, скрипт пытается открыть файл PEAR.php, расположенный в недрах сервера (.:/usr/share/php:/usr/share/pear).[Mon Jul 15 12:32:06 2013] [error] [client 109.233.233.229] PHP Warning: include_once(): open_basedir restriction in effect. File(/usr/share/php/PEAR.php) is not within the allowed path(s): (/var/www/mytestdomain/data:.) in /var/www/mytestdomain/data/www/test.mytestdomain.com/cachelite/Cache/Lite.php on line 548
[Mon Jul 15 12:32:06 2013] [error] [client 109.233.233.229] PHP Warning: include_once(/usr/share/php/PEAR.php): failed to open stream: Operation not permitted in /var/www/mytestdomain/data/www/test.mytestdomain.com/cachelite/Cache/Lite.php on line 548
[Mon Jul 15 12:32:06 2013] [error] [client 109.233.233.229] PHP Warning: include_once(): Failed opening 'PEAR.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/mytestdomain/data/www/test.mytestdomain.com/cachelite/Cache/Lite.php on line 548
[Mon Jul 15 12:32:06 2013] [error] [client 109.233.233.229] PHP Fatal error: Class 'PEAR' not found in /var/www/mytestdomain/data/www/test.mytestdomain.com/cachelite/Cache/Lite.php on line 549
Файл там имеется.
Более того, на этом же VPS у меня хостится сайт (назовем его cacheliteworks.com), где я использую тот же самый дистрибутив Cache_Lite и там все работает. Никаких ошибок.
Если установить на сервер свежую версию: pear install Cache_Lite, то перестает работать сайт cacheliteworks.com. При этом, на test.mytestdomain.com модуль все равно не начинает работать.
Уже сломал весь мозг. Как так получается? На многих сайтах использовал Cache_Lite, а тут такое.