open_basedir restriction in effect. File() is not within the allowed path(s)

目前发现eaccelerator安装之后如果php.ini中设置open_basedir将导致open_basedir的一些报错( open_basedir restriction in effect. File() is not within the allowed path(s)),   在网上查找说 这是eaccelerator的一个BUG所导致,解决方法有以下几种:
1.在解压eaccelerator后修改eaccelerator-0.9.6/eaccelerator.c文件1156行的参数,如下:
if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) { 
修改成: 
if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) { 
修改完成后再安装。 
2.在编译eAccelerator的时候增加 "--without-eaccelerator-use-inode" 参数 
/usr/local/bin/phpize 
./configure --with-php-config=/usr/local/bin/php-config 

以上两种方法测试通过。作为记录。 

猜你喜欢

转载自blog.csdn.net/guangguang3/article/details/45224129