Loading... <p class="MsoNormal"> <span style="font-size:14px">公司在做高并发压测,</span><span style="font-size:14px">fastcgi,apc,ocache,opcache,</span> </p> <p class="MsoNormal"> <span style="font-size:14px">几经考虑</span><span style="font-size:14px">,</span><span style="font-size:14px">最终考虑用</span><span style="font-size:14px">opcache,</span><span style="font-size:14px">因为作为</span><span style="font-size:14px"> zend-opcache</span><span style="font-size:14px">合并为</span><span style="font-size:14px">php5.5</span><span style="font-size:14px">的分支版本</span><span style="font-size:14px">,xcache</span><span style="font-size:14px">的前途堪虑,</span> </p> <p class="MsoNormal"> <span style="font-size:14px">在环境的安装上竟然折腾了半个下午没有搞定,这个作下问题记录。</span> </p> <p class="MsoNormal"> <span style="font-size:14px">先说安装</span><span style="font-size:14px">,</span> </p> <p class="MsoNormal"> <span><span style="font-size:14px">http://php.net/manual/zh/opcache.installation.php</span></span> </p> <p class="MsoNormal"> <span style="font-size:14px">官网的说明</span><span style="font-size:14px">,</span><span style="font-size:14px">因为</span><span style="font-size:14px"> 5.2 5,3 5,4</span><span style="font-size:14px">也可以用</span><span style="font-size:14px">pecl</span><span style="font-size:14px">来安装</span><span style="font-size:14px">,</span><span style="font-size:14px">试了下倒是安装成功了但启动后也没有报错</span><span style="font-size:14px">,</span><span style="font-size:14px">但</span><span style="font-size:14px">info</span><span style="font-size:14px">信息中一起没有</span><span style="font-size:14px">,</span><span style="font-size:14px">安装过程如下</span><span style="font-size:14px"> :</span> </p> <pre class="prettyprint lang-bsh">sudo yum install php54w-pecl-zendopcache sudo pecl install zendopcache-7.0.3</pre> <pre class="prettyprint lang-bsh">;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</pre> <p class="MsoNormal"> <span style="font-size:14px">sudo service php-fpm restart</span> </p> <p class="MsoNormal"> <span style="font-size:14px">但启动后一直报错</span><span style="font-size:14px">502,fastcgi</span><span style="font-size:14px">的日志也只有</span><span style="font-size:14px">warning</span><span style="font-size:14px">的报错</span><span></span> </p> <p><span style="font-size:14px">WARNING:<br /> [pool www] child 30464 exited on signal 11 (SIGSEGV) after 22.168325 seconds<br /> from start</span></p> <p class="MsoNormal"> <span style="font-size:14px">有点找不到思路</span><span style="font-size:14px">, </span><span style="font-size:14px">经过一番检查也没有发现什么问题</span><span style="font-size:14px">,</span><span style="font-size:14px">遂决定手动编译</span><span style="font-size:14px">opcache</span><span style="font-size:14px">模块来看看</span><span style="font-size:14px">,</span> </p> <p class="MsoNormal"> <span><img src="//cto.wang/usr/uploads/2016/07/20160703163630-60.png" alt="" /></span> </p> <p class="MsoNormal" align="left"> <span style="font-size:14px">中间安装的过程有个安装包提示升级</span><span style="font-size:14px">php-common,</span><span style="font-size:14px">思绪没理好</span><span style="font-size:14px">,</span><span style="font-size:14px">竟然把</span><span style="font-size:14px">php5.4</span><span style="font-size:14px">给卸载了</span><span style="font-size:14px">!!</span><span style="font-size:14px">简单</span><span style="font-size:14px">2</span><span style="font-size:14px">到家了</span><span style="font-size:14px">~~~</span><span style="font-size:14px">不过也因为这个原因才发现了问题,</span><span></span> </p> <p class="MsoNormal" align="left"> <span style="font-size:14px"># </span><span style="font-size:14px">重装</span><span style="font-size:14px">PHP</span><span style="font-size:14px">环境这里不再鳌述</span><span style="font-size:14px">,</span><span style="font-size:14px">只是重装后我的环境由因为官网源升级</span><span style="font-size:14px">php</span><span style="font-size:14px">由原来的</span><span style="font-size:14px">php5.4.34</span><span style="font-size:14px">变成了</span><span style="font-size:14px">5.4.36..</span> </p> <pre class="prettyprint lang-bsh"># 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</pre> <p class="MsoNormal"> <span style="font-size:14px">这里有变化的地方</span><span style="font-size:14px">: </span><span style="font-size:14px">看</span><b><span style="color:#E53333;font-size:14px">README</span></b> </p> <table style="width:100%;background-color:#CCCCCC" cellpadding="2" cellspacing="0" border="1"> <tbody> <tr> <td> <p class="MsoNormal"> </p> <p class="MsoNormal"> <b><i><span style="color:#E53333">zend_extension</span></i></b><span>=/usr/lib64/php/modules/opcache.so <br /> #</span>原来这里写的是<span>extension,</span>因为<span>opcahe</span>是由<span>zend</span>管理<span>,so~~~,</span>中文博客害死人<span>.</span>国内的整体<span>IT</span>行业还是显得太过浮躁了<span>,</span>不得不说<span>~ <b><i><span style="color:#E53333">//</span></i></b></span><b><i><span style="color:#E53333">这里啰嗦下经验之谈,,</span></i></b><b><i><span style="color:#E53333">为了速度大家可以找中文博客(这里也建议是那个个人博客或原创博客,51cto</span></i></b><b><i><span style="color:#E53333">,csdn</span></i></b><b><i><span style="color:#E53333">,oschina</span></i></b><b><i><span style="color:#E53333">等大博摊子大后,</span></i></b><b><i><span style="color:#E53333">质量真是下降不少),</span></i></b><b><i><span style="color:#E53333">但为了质量大家一家要找英文文档或者官网.</span></i></b><b><i><span style="color:#E53333">至今从业以来,</span></i></b><b><i><span style="color:#E53333">被中文博客坑的不少也不浅.</span></i></b> </p> <pre class="prettyprint lang-bsh">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</pre> <p> </p> <p> </p> </td> </tr> </tbody> </table> <p class="MsoNormal"> <img src="//cto.wang/usr/uploads/2016/07/20160703163630-98.png" alt="" /> </p> <p class="MsoNormal"> </p> <p class="MsoNormal"> <span style="font-size:14px">这里有警告信息:</span><span></span> </p> <table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0" style="border:none"> <tbody> <tr> <td width="568" valign="top" style="border:solid windowtext 1.0pt"> <p class="MsoNormal"> <span style="font-size:14px">[eAccelerator] This build of<br /> “eAccelerator” was compiled for PHP version 5.4.34. Rebuild it for<br /> your PHP version (5.4.36) or download precompiled binaries.</span> </p> </td> </tr> </tbody> </table> <p class="MsoNormal"> <span style="font-size:14px">查了下</span><span style="font-size:14px">eAccelerator </span><span style="font-size:14px">和</span><span style="font-size:14px">opcache</span><span style="font-size:14px">实现的功能类似</span><span style="font-size:14px">,</span><span style="font-size:14px">只是原理有所区别</span><span style="font-size:14px">,</span><span style="font-size:14px">考虑到这里</span><span style="font-size:14px">php.ini</span><span style="font-size:14px">中将</span><span style="font-size:14px">eAccelerator</span><span style="font-size:14px">相关配置全部注释</span><span style="font-size:14px">,</span><span style="font-size:14px">再重启</span><span style="font-size:14px"> php-fpm</span> </p> <p class="MsoNormal"> </p> <pre class="prettyprint lang-bsh">$ sudo service php-fpm restart</pre> <p> </p> <p class="MsoNormal"> 久违的<span>success,</span> </p> <p> </p> <p class="MsoNormal"> <img src="//cto.wang/usr/uploads/2016/07/20160703163630-72.png" alt="" /> </p> <p class="MsoNormal"> </p> <p class="MsoNormal"> </p> <pre class="prettyprint lang-bsh"># 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</pre> <p><img src="//cto.wang/usr/uploads/2016/07/20160703163630-5.png" alt="" /> </p> <p> </p> <p class="MsoNormal"> </p> <p class="MsoNormal" style="text-indent:21.0pt"> <span>phpinfo()</span>页面也总算显示出来了<span></span> </p> <p><img src="//cto.wang/usr/uploads/2016/07/20160703163630-87.png" alt="" /> </p> <p> </p> <p class="MsoNormal"> </p> <p class="MsoNormal"> <span style="font-size:14px">问题是解决了</span><span style="font-size:14px">,</span><span style="font-size:14px">但非常遗憾的是因为时间的关系没有找到问题根源</span><span style="font-size:14px">…</span> </p> <p class="MsoNormal"> <span style="font-size:14px">给大家提供些</span><span style="font-size:14px">php5.4.</span><span style="font-size:14px">的技术上问题</span><span style="font-size:14px">,</span><span style="font-size:14px">同时也给大家提供些上网搜索问题的小技巧吧。</span><span></span> </p> <p> </p> <p> </p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信