После установки eAccelerator версии выше 0.9.5.3 белый экран а в логах записи вида:

[cc lang=”c++”]PHP Fatal error: Can’t load xxx.php, open_basedir restriction.[/cc]

В саппорте RuWeb мне просто переставили версию eAccelerator на 0.9.5.3 на самом деле проблема решается просто.
Качаем версию eAccelerator 0.9.6.1 в файле eaccelerator.c найти строчку 867 и заменить

[cc lang=”c”] /* only restore file when open_basedir allows it */
if (php_check_open_basedir(realfilename TSRMLS_CC)) {
return NULL;
}
[/cc]

на

[cc lang=”php”] /* only restore file when open_basedir allows it */
if (php_check_open_basedir(p->realfilename TSRMLS_CC)) {
return NULL;
}
[/cc]

После этого собираем и инсталлим eAccelerator обычным образом.

3 января 2011 |

Уже есть один комментарий к “eAccelerator и open_basedir”

  1. Azzrael 28 января, 2011

    Если обычным образом:

    cd eaccelerator-0.9.6
    export PHP_PREFIX=”/usr/local”
    $PHP_PREFIX/bin/phpize
    ./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
    make
    make install
    cd /tmp
    mkdir eaccelerator
    chmod 0777 eaccelerator

    НЕ СТАВИТСЯ, если говорит что мол нет команды export, то делаем так:

    # phpize
    # ./configure –enable-eaccelerator=shared
    # make install clean

Есть что сказать по теме статьи? Пожалуйста - пишите!