Eaccelerator bug的继续
Eaccelerator 和 open_basedir 之间有个 bug 我之前已经遇到过了,而且早已有人给出了 patch 。没想到在 eaccelerator 0.9.6.1 发布后,这个优先级为 critical 的 bug 却没有修复,等我给 VPS 升级后才发现…
之前 VPS 用的是 DirectAdmin ,手动 patch 后编译安装 eaccelerator 并不是什么难事,现在这个 VPS 用的是 cPanel/WHM ,编译安装居然过不去。尝试修改服务器上存着的 eaccelerator 源码和安装脚本,然后让 easyapache 自己去编译,结果 easyapache 每次编译前都会去 cPanel 的官方服务器更新,覆盖掉我做的修改。不过,解决方案还是有的( 适用于 cPanel/WHM ),在 easyapache 编译前下手,在 /scripts 目录(一般 cPanel/WHM 面板都有这个目录)下做一个名叫 before_apache_make 的小脚本:
cd /scripts/
touch before_apache_make
chmod 777 before_apache_make
vim 还是 emaces 就随便你了,把如下内容写入 before_apache_make:
#!/bin/sh cd /home/cpeasyapache/src/eaccelerator mv cpanel-install cpanel-install.sav sed "s@'./configure', '--with-php-config@'./configure', '--without-eaccelerator-use-inode', '--with-php-config@" cpanel-install.sav > cpanel-install rm -f cpanel-install.sav chmod +x cpanel-install
然后再去 ./easyapache 吧。 Good luck. 如果你的内存多的话,推荐按照 Eaccelerator 的配置一文增加 eaccelerator 的内存使用量。
解决方案并不是使用 patch ,而是在编译安装 eaccelerator 的时候增加了参数” –without-eaccelerator-use-inode “,inode 会依赖 open_basedir ,却又不会带来任何性能上的提高,所以干脆就不要。BTW: 据说将来 inode 会被移除出 eaccelerator 。
