open_basedir в PHP при eAccelerator – исправление ошибки


Одним из эффективным способом увеличить скорость выполнения php-приложений является установка пакета eAccelerator. Принцип работы eAccelerator заключается в предварительной компиляции php-кода в так называемый «промежуточный байт-код». Перед установкой eAccelerator установите приложения для разработчиков и php5-dev, где расположены библиотеки для плагинов на основе php.

При настройке очередного сервера необходимо было изолировать сайты друг от друга директивой open_basedir, но после установки eAccelerator`а на сайтах стала появляться ошибка:

Warning: Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/user/data:.) in Unknown on line 0 Fatal error: Can't load /var/www/user/data/www/artkiev.com/, open_basedir restriction. in Unknown on line 0 

Решение проблемы open_basedir в PHP при eAccelerator:

1) Качаем последнюю версию eAccelerator`a
2) Распаковываем архив, находим файл eaccelerator.c и в строке 867 находим строчку вида:

if (php_check_open_basedir(realname TSRMLS_CC)) { 

и заменяем ее на

if (php_check_open_basedir(p->realfilename TSRMLS_CC)) { 

после этого заново компилируем и устанавливаем и в завершение перезапускам apache и проверяем работоспособность.



Поделиться с друзьями:

Другие публикации:

Написать комментарий через:

 
       
  • ВКонтакте
  •        
  • Локальный блог
  •  
 
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

 
Статьи пользователей на ArtKiev Design Studio