文档章节

Systemd 三部曲 之 PHP7

linuxprobe16
 linuxprobe16
发布于 2016/11/21 22:50
字数 572
阅读 8
收藏 0
导读 在鸟哥的博客里看到了他们做的PHP的性能测试,相对于PHP5.6都是有很大的提升的,并且PHP的主版本号已经是2004年发布PHP5后,11年来首次更新,肯定PHP7是有很大的改变的,并且支持了 Systemd。

安装编译php7时需要的依赖包 :

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel systemd systemd-devel    (systemd 为php支持新版systemd)

配置编译选项 :

./configure 
                           --prefix=/usr/local/php7.0.3 \
                           --enable-opcache \
                           --enable-fpm \
                           --with-fpm-systemd \  (启用 Systemd)
                           --enable-pdo \
                           --with-mysqli \
                           --with-pdo-mysql \
                           --enable-mysqlnd \
                           --with-curl \
                           --with-jpeg-dir \
                           --with-png-dir \
                           --with-openssl \
                           --enable-zip \
                           --with-zlib \

编译 并 安装

make  -j  2 (开启 2 个线程编译)  &&  make  install

创建 配置文件

cd    php-7.0.0RC7/
   cp    php.ini-production    /usr/local/php/lib/php.ini    
   cp  /usr/local/php/etc/php-fpm.conf.default      /usr/local/php/etc/php-fpm.conf
   cp  /usr/local/php/etc/php-fpm.d/www.conf.default      /usr/local/php/etc/php-fpm.d/www.conf

增加到 Systemd 服务

cp   /root/php-7.0.3/sapi/fpm/php-fpm.service   /etc/systemd/system/
chmod +x /etc/systemd/system/php-fpm.service 

修改 php-fpm.service 中  ${prefix},${exec_prefix}  变量为 /usr/local/php/   安装路径

systemctl start php-fpm

启用 Zend OPcache (php 缓存 服务)

在 php.ini 文件 添加 配置 :

zend_extension=opcache.so
        opcache.memory_consumption=128        //分配128M内存 
        opcache.force_restart_timeout=180         // 设置 时间(秒) 来控制缓存文件更新速度.
        opcache.interned_strings_buffer=8
        opcache.max_accelerated_files=4000
        ;关闭PHP文件验证(最高性能)
        opcache.validate_timestamps=Off
        ;每60秒验证php文件时间戳是否更新
        ;opcache.revalidate_freq=60
        opcache.fast_shutdown=1
        opcache.enable_cli=1
        ;设置不缓存的黑名单
        opcache.blacklist_filename="/png/php/opcache_blacklist"
        ;默认opcache是开启的,对应phpinfo()里Zend OPcache下的Master Value值.
        opcache.enable=Off (关闭)

检查 是否成功 开启 Zend OPcache :

/usr/local/phptest/bin/php  -v   输出 有 

         with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies 
     
         访问 phpinfo.php 文件  (), 
          有 Zend OPcache信息输出 :
         
         Zend logo This program makes use of the Zend Scripting Language Engine:
          Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
             with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
       
          有 Zend OPcache 信息块 : 
           注意  Cache hits (高级缓存命中,越高越好)	4648
                 Cache misses  (高级缓存未命中) 	142

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

本文转载自:http://www.linuxprobe.com/systemd-php7.html

共有 人打赏支持
linuxprobe16
粉丝 12
博文 876
码字总数 213261
作品 0
河东
私信 提问
CentOS7上编译多版本PHP并同时运行及systemd设置

CentOS7最大改变是systemd代替过去的systemV服务,于是配置服务的方式改变了,用systemctl替代过去的service, chkconfig等命令。 网站搬迁服务器,全新服务器当然用新系统,于是安装上CentO...

mark35
2015/09/25
0
4
ElementaryOS 安装LAMP

debug@debug-Macmini:~/Downloads$ sudo apt-get install apache [sudo] debug 的密码: debug@debug-Macmini:~/Downloads$ sudo apt-get install apache2 [sudo] debug 的密码: 正在读取软......

sizeof
2016/12/29
16
0
Parrot Security OS 3.1 发布,支持 php7

Parrot Security OS 3.1 发布了,Parrot Security OS是面向安全的操作系统,它被设计为用于渗透测试、计算机取证、反向工程、攻击、云计算渗透测试、隐私/匿名、密码等场合。该发行基于Debia...

oschina
2016/08/01
1K
3
centos 7编译安装LNMP

禁用防火墙 systemctl disable firewalld systemctl stop firewalld setenforce 0 安装pcre库/zlib库 yum install pcre zlib 编译安装openssl 增加nginx用户:groupadd nginx useradd nginx ......

zhengqizhq
2017/04/04
0
0
Android自定义控件三部曲文章索引

前言:在我从C++转到Android时,就被Android里炫彩斑斓的自定义控件深深折服,想知道如果想利用C++实现这些功能,那是相当困难的。从那时候起,我就想,等我学会了自定义控件,一定要写一篇系...

丁佳辉
2016/04/13
101
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP 304状态码

客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified ...

Jack088
22分钟前
2
0
MyBatis学习笔记(二)

mybatis执行过程架构图 1、mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。 mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql...

梦想_与_现实
27分钟前
0
0
分布式锁简单入门以及三种实现方式介绍

分布式锁简单入门以及三种实现方式介绍

zbbmaster
37分钟前
2
0
PHP接收前端传值各种情况整理

PHP接收前端传值各种情况整理 服务端代码: header('Access-Control-Allow-Origin:*');var_dump($_POST);exit; 情况 1) 传null $.post('http://xxxxx.xx/index.php', { "test": null}......

SSSWIIILLL
今天
5
0
利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
今天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部