zoukankan      html  css  js  c++  java
  • CentOS 安装eaccelerator PHP加速

    1.编译eaccelerator

    Warning: Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (.:/tmp/) in Unknown on line 0
    Fatal error: Can’t load /XX/index.php, open_basedir restriction. in Unknown on line 0
    出现了很多次这样的问题了,感觉都无从下手,总觉得与系统和php有关, 今天又出现了, 想来想去都觉得不奇怪, 后面开始重新编译php, php的扩展都没编译,发现设置open_basedir的时候,却没有出错^^^ , 从这个信息觉得有些可以利用的,把自己方案所需的扩展都安装进去,重启apache的时候,却发现有出现这个错误, 把php.ini中设置的扩展一个一个的关闭,开始排查,后面吧eaccelerator注释掉后,重启apache并没有出现错误, 定位问题出现eaccelerator, 在用google查了下,发现eaccelerator 0.9.6后的版本跟以前的有些改变,把open_basedir给限制了,这时我们要把限制去掉才行
    下载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)) {
    修改后在进行编译,就ok了

    phpize
    ./configure
    make

    2.安装

    make install
    会将eaccelerator编译到目标路径

    3.设置
    拷贝eaccelerator.ini到 /etc/php.d/eaccelerator.ini

    extension=”eaccelerator.so”
    eaccelerator.shm_size=”16″
    eaccelerator.cache_dir=”/tmp/eaccelerator”
    eaccelerator.enable=”1″
    eaccelerator.optimizer=”1″
    eaccelerator.check_mtime=”1″
    eaccelerator.debug=”0″
    eaccelerator.filter=”"
    eaccelerator.shm_max=”0″
    eaccelerator.shm_ttl=”0″
    eaccelerator.shm_prune_period=”0″
    eaccelerator.shm_only=”0″
    eaccelerator.compress=”1″
    eaccelerator.compress_level=”9″

  • 相关阅读:
    linux发行版 以及 包管理方式
    [Linux: 使用心得]ArchLinux下安装Gnome3
    Delphi中WebService服务
    再谈企业架构业务架构
    SQL优化使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划
    数据库设计使用上述四种模式的一般原则(转)
    SQL server 2005 日志恢复和审计工具
    Oracle 10g 进程体系学习总结
    查看SQL Server的事务日志
    数据库设计继承模式(转)
  • 原文地址:https://www.cnblogs.com/sxlfybb/p/2295644.html
Copyright © 2011-2022 走看看