php5.4zend-opcache安装

公司在做高并发压测,fastcgi,apc,ocache,opcache,

几经考虑,最终考虑用opcache,因为作为 zend-opcache合并为php5.5的分支版本,xcache的前途堪虑,

在环境的安装上竟然折腾了半个下午没有搞定,这个作下问题记录。

先说安装,

http://php.net/manual/zh/opcache.installation.php

官网的说明,因为 5.2 5,3 5,4也可以用pecl来安装,试了下倒是安装成功了但启动后也没有报错,info信息中一起没有,安装过程如下 :

sudo yum install  php54w-pecl-zendopcache
sudo pecl install zendopcache-7.0.3
;extension=opcache.so
extension=/usr/lib64/php/modules/opcache.so
;
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

sudo service php-fpm restart

但启动后一直报错502,fastcgi的日志也只有warning的报错

WARNING:
[pool www] child 30464 exited on signal 11 (SIGSEGV) after 22.168325 seconds
from start

有点找不到思路, 经过一番检查也没有发现什么问题,遂决定手动编译opcache模块来看看,

php5.4zend-opcache安装

中间安装的过程有个安装包提示升级php-common,思绪没理好,竟然把php5.4给卸载了!!简单2到家了~~~不过也因为这个原因才发现了问题,

# 重装PHP环境这里不再鳌述,只是重装后我的环境由因为官网源升级php由原来的php5.4.34变成了5.4.36..

# sudo wget  http://pecl.php.net/get/zendopcache-7.0.3.tgz
# sudo tar –xv zendopcache-7.0.3.tgz
# sudo cd zendopcache-7.0.3
# sudo phpize
# sudo ./configure    --with-php-config=/usr/bin/php-config
# sudo make
# sudo make install
#sudo sudo service php-fpm restart

这里有变化的地方: README

zend_extension=/usr/lib64/php/modules/opcache.so 
#
原来这里写的是extension,因为opcahe是由zend管理,so~~~,中文博客害死人.国内的整体IT行业还是显得太过浮躁了,不得不说//这里啰嗦下经验之谈,,为了速度大家可以找中文博客(这里也建议是那个个人博客或原创博客,51cto,csdn,oschina等大博摊子大后,质量真是下降不少),但为了质量大家一家要找英文文档或者官网.至今从业以来,被中文博客坑的不少也不浅.

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
memcached.use_sasl = 1

php5.4zend-opcache安装

这里有警告信息:

[eAccelerator] This build of
“eAccelerator” was compiled for PHP version 5.4.34. Rebuild it for
your PHP version (5.4.36) or download precompiled binaries.

查了下eAccelerator  opcache实现的功能类似,只是原理有所区别,考虑到这里php.ini中将eAccelerator相关配置全部注释,再重启 php-fpm

$ sudo service php-fpm restart

久违的success,

php5.4zend-opcache安装

# php –v    ###也显示正常
PHP 5.4.36 (cli) (built: Dec 20 2014 14:09:43)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

php5.4zend-opcache安装

phpinfo()页面也总算显示出来了

php5.4zend-opcache安装

问题是解决了,但非常遗憾的是因为时间的关系没有找到问题根源

给大家提供些php5.4.的技术上问题,同时也给大家提供些上网搜索问题的小技巧吧。

原创文章,作者:stanley,如若转载,请注明出处:http://www.178linux.com/3448

(0)
stanleystanley
上一篇 2015-04-19 11:45
下一篇 2015-04-20 21:33

相关推荐

  • Linux风水学

    Linux风水学童 有的没的说一说 说一个,到一个。想起哪个说哪个,说起哪个都不错。 对于接触过一点点Linux的风水学童的我来说,还在苦背天地玄黄,宇宙洪荒。虽然不懂是干什么的,但是心里总有个声音告诉我,这些鬼画符肯定有用。总有一天我能成为一个合格的Linux风水师,去某个员外家里施展堪舆之术被奉为上宾。 Linux流派大概   相对于目前的流派…

    2017-07-18
  • Linux 计划任务快速理解入门

    计划任务简单来说是一个我们规定的时间去执行我们需要的脚本、命令及需要Linux做的事情。 以前写过一个脚本,由于当时没有学过计划任务,所以写起来特别痛苦,该脚本的需求是每天晚上11:00 备份/etc目录 当时特别小白,于是这么写的: VimrebootScript ‘ #!/bin/bash whiletrue;do If [ -d/app/e…

    Linux干货 2017-05-15
  • Linux文件查找及压缩常用知识总结

    一、文件查找 1.locate命令: locate KEYWORD 常用选项:     -i 执行区分大小写的搜索     -n  N只列举前N个匹配项目 查询系统上预建的文件索引数据库在:/var/lib/mlocate/mlocate.…

    Linux干货 2016-08-18
  • Linux文本处理三剑客之sed

    处理文本工具sed sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文…

    Linux干货 2016-08-15
  • Btrfs文件系统

    一:概述     1.1简介         Btrfs被称为是下一代Linux文件系统。通常念成 Butter FS,Better FS 或B-tree FS。它采用了很多先进的文件系统设计,不仅解决了 ext2/3的扩展性问题,支持写时…

    Linux干货 2016-04-19
  • N28-第一周

    *计算机的组成以其功能: 当今计算机系统由硬件系统和软件系统两大部分组成。硬件系统是指计算机的物理设备,包括CPU,存储器,输入/输出模块等。软件系统则是各种程序和数据的集合。 硬件结构的基本构成: 处理器: 用于控制计算机的操作,执行数据处理功能,是计算机硬件的核心。由控制器,运算器和一组寄存器组成。 控制器:负责根据读入的指令决定计算机的操作 运算器:负…

    2017-12-06