设为首页 收藏本站
查看: 555|回复: 0

lamp之编译安装php及xcache

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-25 09:48:08 | 显示全部楼层 |阅读模式
php:
    0.安装相关扩展的rpm包和依赖
        加密功能:
            #tar -xf libmcrypt-xxx.tar.gz
            #cd libmcrypt-xx
            #./configure
            #make && make install


        支持大字符集:
            #yum -y install php-mbstring 支持中文等字符

        支持xml和压缩:
            #yum -y install libxml2-devel bzip2-devel

    1.解压安装包
        #tar xf php.xxx.tar.bz2 php.xxx
        #cd php.xxx

    2.编译安装:
        编译为httpd的模块:
            #./configure --prefix=/usr/local/phpXX --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-apxs2=/usr/local/httpd/bin/apxs --with-openssl  --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/lib64 --enable-sockets  --with-mcrypt  --with-bz2 --enable-maintainer-zts
            #make
            #make install

        编译为fpm模式:
            将--with-apxs2=/usr/local/httpd/bin/apxs替换为
            --enable-fpm
            删除--enable-maintainer-zts

        编译常见选项:
            --prefix=/usr/local/php

            --with-config-file-path=/etc 指定配置文件的文件夹

            --with-config-file-scan-dir=/etc/php.d 指定配置文件夹片段目录

            --with-mysql=/usr/local/mysql

            --with-openssl 支持openssl功能

            --with-mysqli=/usr/local/mysql/bin/mysql_config php和mysql交互的另一种接口,二进制程序mysql_config

            --enable-mbstring 多字节string,支持中文等多字节,需要安装php-mbstring包。

            --with-freetype-dir freetype字体引擎,引用特定字体

            --with-jpeg-dir

            --with-png-dir

            --with-zlib 启用zlib压缩库支持

            --with-libxml-dir=/usr/lib64 启用xml支持,并指定xml库文件位置,需要安装libxml2-devel包。

            --enable-sockets 启动基于套接字的通信

            --with-apxs2=/usr/local/httpd/bin/apxs 使用apsx将php编译为httpd的模块。

            --with-mcrypt 启用额外的加密库,需要libmcrypt-devel

            --with-config-file-path=/etc 指定php主配置文件存放的目录。配置文件为php.ini

            --with-config-file-scan-dir=/etc/php.d php的配置片段位置。

            --with-bz2 启动压缩库,需要安装相应的bzip2-devel包

            --enable-maintainer-zts 若httpd以线程方式工作则需要此项。即MPM为profork则不需要启动次项。若为event或worker则需要此项支持。


    3.提供配置文件
        #cp php.ini-production /etc/php.ini

    4.编辑httpd的配置文件,增加php的支持:
        #vim /etc/httpd/httpd.conf
            DirectoryIndex index.php index.html
            AddType application/x-httpd-php .php
            AddType application/x-httpd-php-source .phps php源码支持。


    5.若php以fpm模式编译则需要执行:
        1.给php-fpm提供Sysv风格脚本
            #cp sapi/fpm/init.d.php.fpm /etc/rc.d/init.d/php-fpm
            #chmod +x /etc/rc.d/init.d/php-fpm

        2.为php-fpm提供配置文件
            #cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

        3.修改配置文件
            #vim /usr/local/php/etc/php-fpm.conf
                pm.max_children = 50 最大子进程数
                pm.start_servers = 5 服务启动时的空闲进程数
                pm.min_spare_servers = 2 最小空闲进程数
                pm.max_spare_servers = 8 最大空闲进程数
                pid = /usr/local/php/var/run/php-fpm.pid
                    指定pid文件位置,此项定义在服务脚本php-fpm中,2者保持一致即可。

        启动php-fpm
            #systemctl start php-fpm

        验证:
            #ps-aux|grep php-fpm
            #netsta -tnlp|grep php-fmp

            默认情况下fpm监听在9000端口。

Xcache
    1.解压软件包:
        #tar xf xcache.xxx.tar.gz xcache.xxx
        #cd xcacahe.xxx

    2.安装:
        #/usr/local/php/bin/phpize 在当前目录运行phpize。phpize是在编译安装php扩展之前对其进行准备的程序。

        #./configure \
        --enable-xcache\ 启用xcache功能
        --with-php-config=/usr/local/php/bin/php-config php-config是可以获得有关php配置和编译选项的信息的小脚本。

        #make && make install


        安装结束时,会出现类似如下行:
        Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-[non]-zts-20100525/

    3.将xcache配置文件样例的内容追加到php配置文件中
        #cat xcache.ini >> /etc/php.ini
        或
        #cp xcache.ini /etc/php.d/

        推荐使用第二种方法。

    4.修改xcache.ini
        #vim /etc/php.d/xcache.ini
            zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-xxx/xcache.so

            用刚才安装结束时生成的路径进行替换。

            zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so

        注意:如果将xcache.ini追加到php.ini文件中,有多条zend_extension指令行,要确保此新增的行排在第一位。


        注意:若php以fpm方式编译,则不需要修改配置文件,直接重启php-fpm服务即可。


        xcache.ini
            [xcache.common]
                zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-xxx/xcache.so
                ...
            [xcache.admin]
                ...
            [xcache]
                xcache.shm_schem= "mmap" 指定在各php进程间共享内存的方式。mamp为内存映射,一段内存多个进程可以访问。
                xcache.size=60M 缓存Opcode的大小。设置为0表示禁用此功能。

                xcache.count=1 设置cpu个数
                xcache.slots=8K 槽位设置,hash相关
                xcache.ttl=0 缓存项目的过期时间,0表示永不过期,由xcache自行管理。
                xcache.gc_intrval=0 垃圾回收器工作周期。0表示不扫描,其他数值单位是秒。
                xcache.var_size=4M 变量缓存
                xcache.var_count=1 缓存个数
                xcache_var_slots=8K
                xcache_var_ttl=0
                xcache_var-maxttl=0
                xcache.var_gc_intrval=300

                xcache.cather=On xcache的缓存功能
                xcache.stat=On
                xcache.optimizer=Off xcache自身的优化器

                xcache.test=Off
                xcache.experimental=Off


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70375-1-1.html 上篇帖子: lamp之调试lamp和ab压力测试 下篇帖子: lamp之编译安装mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表