php开启opcache加速极速快三源码出售方法

php开启opcache加速极速快三源码出售方法

我们知道很多php项目都会用到上述架构,静态页面走nginx,动态请求传给后端php,php解析后传给客户端

那php是如何解析代码的呢?【窝窝头源码论坛

当Nginx将CGI请求发送给这个socket(这个socket可以是文件也可以是ip socket)的时候,通过FastCGI接口,wrapper接收到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端。这就是Nginx+FastCGI的整个运作过程。
spawn-fcgi与PHP-FPM都是FastCGI进程管理器。
我们知道了php代码解析过程,但是如何提高动态请求的效率
我们从以下入手:
1)代码层面,可以考虑增加页面的缓存功能(生成静态页),这样就不用再去解析
2)php软件级别,增加缓存操作码,让代码解析后,php进行缓存到内存中,下次请求时不再解析。
3)对于查询数据库的,可以考虑使用redis、memcache等内存型数据库来存储数据。
这里只讲解操作码缓存技术
以下是目前流行的软件解决方案(增加缓存操作码)
XCache、 Accelerator、以及php自带Zend Opcache
目前使用XCache及Zend Opcache比较多
这里只讲Zend Opcache,同时只负责php5.6版本

cd /usr/local/src/
wget http://cn2.php.net/get/php-5.6.34.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#先安装依赖
yum install -y pcre pcre-devel zlib zlib-devel gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel libmcrypt-devel mhash mcrypt -y
tar xf libiconv-1.14.tar.gz
./configure --prefix=/usr/local/libiconv && make && make install
useradd apache -u 1012 -g 1012 -s /sbin/nologin -M
#安装php
tar xf php-5.6.34.tar.gz 
cd php-5.6.34
./configure --prefix=/app/php5.6.34 --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-opcache  --enable-ftp
touch ext/phar/phar.phar
make && make install
cp php.ini-production /app/php/lib/php.ini
cd /app/php/etc/
cp php-fpm.conf.default php-fpm.conf
sed -i "s#;date.timezone =#date.timezone = Asia/Shanghai#g" /app/php/lib/php.ini


猜你喜欢

转载自blog.csdn.net/weixin_42708191/article/details/81066007