.安装php7..30的脚本

# vim install_php.sh

#!/bin/bash
# 安装基本依赖
yum install -y gcc gcc-c++ htop telnet iotop iptraf iftop make logrotate xinetd ntsysv sysstat perl autoconf libjpeg libjpeg-devel libpng libpng-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel libxml2 libxml2-devel libxslt-devel libevent-devel libtool libtool-ltdl bison ntpdate patch vim wget openssh-clients bind-utils
yum -y install libicu-devel libpng12 libpng12-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel libxslt-devel curl-devel ## zlib
echo "*******************install zlib start*******************"
cd /usr/local/src && wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xvzf zlib-1.2..tar.gz
cd zlib-1.2.
./configure --prefix=/usr/local/zlib
make && make install
ls -l /usr/local/zlib
echo "*******************install zlib end*******************" ## openssl echo "*******************install openssl start*******************"
cd /usr/local/src && wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz --no-check-certificate
tar -xzf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e/
./config --prefix=/usr/local/openssl
./config -t
make && make install
ls /usr/local/bin/openssl -l
echo "*******************install openssl end*******************" ## freetype
echo "*******************install freetype start*******************"
cd /usr/local/src && wget https://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.gz --no-check-certificate
tar -zxvf freetype-2.4..tar.gz
cd freetype-2.4./
./configure --prefix=/usr/local/freetype
make && make install
echo "*******************install freetype end*******************" ## PHP安装
echo "*******************install php-7.0.30 start*******************" cd /usr/local/src && wget http://cn2.php.net/distributions/php-7.0.30.tar.gz
tar -zxvf php-7.0..tar.gz
cd php-7.0.
./configure \
--prefix=/usr/local/php7.0.30 \
--mandir=/usr/local/php7.0.30/share/man \
--infodir=/usr/local/php7.0.30/share/info \
--enable-fpm \
--enable-mbstring \
--enable-zib \
--enable-bcmath \
--enable-opcache \
--enable-pcnt \
--enable-soa \
--enable-calenda \
--enable-exif \
--enable-ftp \
--enable-intl \
--with-curl \
--with-gd \
--with-jpeg-dir=/usr/local/zlib \
--with-png-dir=/usr/local/zlib \
--with-mysql \
--with-pdo_mysql \
--with-mcrypt \
--with-freetype-dir=/usr/local/freetype \
--with-zlib=/usr/local/zlib \
--with-openssl make && make install
if [ $? != ];then
exit
fi
ln -s /usr/local/php7.0.30 /usr/local/php
cp /usr/local/src/php-7.0./php.ini-development /usr/local/php7.0.30/lib/php.ini
cp /usr/local/php7.0.30/etc/php-fpm.conf.default /usr/local/php7.0.30/etc/php-fpm.conf
cp /usr/local/php7.0.30/etc/php-fpm.d/www.conf.default /usr/local/php7.0.30/etc/php-fpm.d/www.conf echo "*******************install php-7.0.30 end*******************" ## Mongo扩展
echo "*******************install Mongo扩展 start*******************"
cd /usr/local/src && wget http://pecl.php.net/get/mongodb-1.5.2.tgz
tar -zxvf mongodb-1.5..tgz
cd mongodb-1.5./
/usr/local/php7.0.30/bin/phpize
./configure --with-php-config=/usr/local/php7.0.30/bin/php-config
make && make install
ls /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/ echo "*******************install Mongo扩展 end*******************" ## Redis扩展
echo "*******************install Redis扩展 start*******************"
cd /usr/local/src && wget http://pecl.php.net/get/redis-4.0.2.tgz
tar -zxvf redis-4.0..tgz
cd redis-4.0./
/usr/local/php7.0.30/bin/phpize
./configure --with-php-config=/usr/local/php7.0.30/bin/php-config
make && make install
ls /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
echo "*******************install Redis扩展 end*******************" ## tideways扩展
echo "*******************install tideways扩展 start*******************"
cd /usr/local/src && wget https://s3-eu-west-1.amazonaws.com/tideways/extension/5.0.18/tideways-php-5.0.18-x86_64.tar.gz --no-check-certificate
tar -zxf tideways-php-5.0.-x86_64.tar.gz
cd tideways-5.0.
/usr/local/php7.0.30/bin/phpize
cp tideways-php-7.0.so /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
cd /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
mv tideways-php-7.0.so tideways.so
echo "*******************install tideways扩展 end*******************" ## ioncube_loaders 扩展
echo "*******************install ioncube_loaders start*******************"
cd /usr/local/src && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz --no-check-certificate
tar -zxvf ioncube_loaders_lin_x86-.tar.gz
cd ioncube/
ls
cp ioncube_loader_lin_7..so /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
echo "*******************install ioncube_loaders end*******************" .修改配置文件 # php.ini配置文件 # vim /usr/local/php7.0.30/lib/php.ini
[dba] extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-/
extension=redis.so
extension=mongodb.so [tideways]
extension=tideways.so
;不需要自动加载,在程序中控制就行
tideways.auto_prepend_library=
;频率设置为100,在程序调用时能改
tideways.sample_rate= [ionCube Loader]
zend_extension=ioncube_loader_lin_7..so # php-fpm.conf文件
[root@eus_filmora_file01:/usr/local/php]# egrep -v '^$|^;' /usr/local/php/etc/php-fpm.conf
[global]
process.max =
rlimit_files =
events.mechanism = epoll
include=/usr/local/php7.0.30/etc/php-fpm.d/*.conf sed -i 's#user = nobody#user = apache#g' /usr/local/php7.0.30/etc/php-fpm.d/www.conf
sed -i 's#group = nobody#group = users#g' /usr/local/php7.0.30/etc/php-fpm.d/www.conf # www.conf文件
[root@eus_filmora_file01:/usr/local/php]# egrep -v '^$|^;' /usr/local/php/etc/php-fpm.d/www.conf
[www]
user = apache
group = users
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 500
pm.start_servers = 32
pm.min_spare_servers = 16
pm.max_spare_servers = 64
pm.process_idle_timeout = 10s;
pm.max_requests = 10240
request_terminate_timeout = 100
rlimit_core = 8 ##################启动脚本 # 生成软连接
[root@eus_filmora_file02:/usr/local/src]# rm -f /usr/local/php
[root@eus_filmora_file02:/usr/local/src]# ln -s /usr/local/php7.0.30/ /usr/local/php [root@eus_filmora_file01:/usr/local/src/tideways-5.0.18]# vim /etc/init.d/php-fpm
#! /bin/sh ### BEGIN INIT INFO
# Provides: php-fpm
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts php-fpm
# Description: starts the PHP FastCGI Process Manager daemon
### END INIT INFO prefix=/usr/local/php
exec_prefix=${prefix} php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID" wait_for_pid () {
try=0 while test $try -lt 35 ; do case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;; 'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac echo -n .
try=`expr $try + 1`
sleep 1 done } case "$1" in
start)
echo -n "Starting php-fpm " $php_fpm_BIN --daemonize $php_opts if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;; stop)
echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
;; force-quit)
echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;; restart)
$0 stop
$0 start
;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi kill -USR2 `cat $php_fpm_PID` echo " done"
;; *)
echo "Usage: $0 {start|stop|force-quit|restart|reload}"
exit 1
;; esac ####################### 测试的域名
# vim /usr/local/nginx/conf/vhost.d/film.chinasoft.com.conf
server {
listen 80; server_name film.chinasoft.com; proxy_connect_timeout 1800s;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
access_log /data/www/logs/nginx_log/access/film.chinasoft.com_access.log main ;
access_log on;
error_log /data/www/logs/nginx_log/error/film.chinasoft.com_error.log ;
root /data/www/vhosts/film.chinasoft.com/httpdocs/api/public ;
index index.html index.shtml index.php ;
error_page 404 403 /404.html; location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
} location ~ \.php$ {
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location ^~ /logs/
{
deny all;
} } server {
listen 443;
ssl on; ssl_certificate cert2016/chinasoft_com.crt;
ssl_certificate_key cert2016/chinasoft_com.key;
ssl_dhparam cert2016/dh_2048.pem; ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!AES128-GCM-SHA256:!AES256-GCM-SHA384:!AES128-SHA256:!AES256-SHA256:!AES128-SHA:!AES256-SHA:AES:!CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; ssl_prefer_server_ciphers on; server_name film.chinasoft.com;
access_log /data/www/logs/nginx_log/access/film.chinasoft.com_access.log main ;
error_log /data/www/logs/nginx_log/error/film.chinasoft.com_error.log ; root /data/www/vhosts/film.chinasoft.com/httpdocs/api/public ;
index index.html index.shtml index.php ;
error_page 404 403 /404.html; location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
} location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} } # 创建测试页面
[root@eus_filmora_file01:/usr/local/php]# mkdir -p /data/www/vhosts/film.chinasoft.com/httpdocs/api/public
[root@eus_filmora_file01:/usr/local/php]# echo "<?php echo phpinfo(); ?>"> /data/www/vhosts/film.chinasoft.com/httpdocs/api/public/index.php

# php7.0.30安装mysqli扩展
# 获取源码
# wget https://www.php.net/distributions/php-7.0.30.tar.gz
tar xf php-7.0.30.tar.gz
cd php-7.0.30/ext/mysqli
/usr/local/php7.0.30/bin/phpize
# 编译扩展
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php7.0.30/bin/php-config --with-mysqli=/usr/local/mysql-5.7.23-el7-x86_64/bin/mysql_config
make && make install

Installing shared extensions:     /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-20151012/
Installing header files:          /usr/local/php7.0.30/include/php/

# ll /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-20151012/
total 5304
-rwxr-xr-x 1 root root  729240 Dec 13 00:33 mysqli.so
-rwxr-xr-x 1 root root 1993656 Nov 20  2018 opcache.a
-rwxr-xr-x 1 root root  928360 Nov 20  2018 opcache.so
-rwxr-xr-x 1 root root 1771528 Nov 20  2018 redis.so

# 添加mysqli扩展
# vim /usr/local/php7.0.30/etc/php.ini

[dba]
extension_dir=/usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-20151012/
extension=mysqli.so

# php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli

[opcache]
zend_extension=/usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/opcache.so
opcache.memory_consumption=
opcache.interned_strings_buffer=
opcache.max_accelerated_files=
opcache.revalidate_freq=
opcache.fast_shutdown=
opcache.enable_cli=
opcache.enable=
opcache.force_restart_timeout=
opcache.optimization_level=

centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展的更多相关文章

  1. centos7.6环境下编译安装tengine-2.2.2的编译安装

    centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...

  2. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  3. Linux Centos7.2 编译安装PHP7.0.2

    操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...

  4. CentOS7.3环境下源码安装httpd

    CentOS7.3环境下源码安装httpd 本文在CentOS7.3下,源码安装apache服务httpd2.4. 1.下载好源码安装包 [root@localhost ~]#ll total 625 ...

  5. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  6. centos7.2环境下安装smokeping对网络状态进行监控

    centos7.2环境下安装smokeping对网络状态进行监控 安装smokeping建议用centos7,用centos6.5一直卡在smokeping那里,下载不了perl的扩展插件,可能是因为 ...

  7. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  8. Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)

    目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...

  9. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

随机推荐

  1. 基于Grunt构建一个的项目

    没有搭建环境的,请参考<Grunt自动化构建环境搭建 >,搭建完成后 新建一个项目目录,这里建立一个“Demo”目录 运行CMD,并进入这个目录,运行 npm install grunt ...

  2. VS2010创建MVC4项目提示错误: 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral,

    在安装VS2010时没有安装MVC4,于是后面自己下载安装了(居然还要安装VS2010 SP1补丁包).装完后新建MVC项目时却提示: 错误: 此模板尝试加载组件程序集 “NuGet.VisualSt ...

  3. Winform数据库连接app.config文件配置

    1.添加配置文件 新建一个winform应用程序,类似webfrom下有个web.config,winform下也有个App.config;不过 App.config不是自动生成的需要手动添加,鼠标右 ...

  4. iOS 基础:Frames、Bounds 和 CGGeometry

    https://segmentfault.com/a/1190000004695617 原文:<iOS Fundamentals: Frames, Bounds, and CGGeometry& ...

  5. C# Note38: Export data into Excel

    Microsoft.Office.Interop.Excel You have to have Excel installed. Add a reference to your project to ...

  6. jQuery 事件冒泡

    1 . 什么是冒泡 在页面上可以有多个事件,也可以多个元素响应同一个事件.假设网页上有两个元素,其中一个元素嵌套在另一个元素里,并且都被绑定了 click 事件,同时<body>元素上也绑 ...

  7. CodeForces 140C New Year Snowm

    题目链接:http://codeforces.com/contest/140/problem/C 题目大意: 有n个雪球(半径为:r1,r2,r3.....rn):一个雪人要三个雪球.但是要求半径两两 ...

  8. Node.js的事件处理机制

    1. 为什么Node.js是单线程执行的 因为从JavaScript设计之初,JavaScript是用户与浏览器交互的,主要处理DOM: 这样决定了JavaScript是单线程执行,否则会出现问题:例 ...

  9. servlet篇 之 跳转问题

    servlet中的跳转: 跳转本质上是对文件传输操作 进行 封装. 例如:客户端访问一个servlet,在servlet中需要把已经写好的页面hello.html返回给客户端浏览器,需要用io来实现这 ...

  10. C++:位操作基础篇之位操作全面总结

    位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大家梳理知识.提高篇则针对各大IT公司如微软.腾讯.百度.360等公司的笔试面试题作详细的解答,使大家能熟练应对在笔试面试中位操作题目 ...