Одним из эффективным способом увеличить скорость выполнения 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 и проверяем работоспособность.