文档章节

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
博文 824
码字总数 187175
作品 0
河东
私信 提问
CentOS7上编译多版本PHP并同时运行及systemd设置

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

mark35
2015/09/25
0
4
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
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
解压即用,跨Linux发行版PHP7打包

PHP7 for Linux: https://downloads.php.net/~ab/ PHP7 for Windows: http://windows.php.net/downloads/qa/ 适用环境: 64位Linux: PHP在抗战胜利日 发布了PHP7 RC2. PHP-7.0.0-RC2 2015/09......

eechen
2015/05/06
0
22

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
3
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
4
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部