1. .安装php7..30的脚本
  2.  
  3. # vim install_php.sh
  4.  
  5. #!/bin/bash
  6. # 安装基本依赖
  7. 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
  8. 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
  9.  
  10. ## zlib
  11. echo "*******************install zlib start*******************"
  12. cd /usr/local/src && wget http://www.zlib.net/zlib-1.2.11.tar.gz
  13. tar -xvzf zlib-1.2..tar.gz
  14. cd zlib-1.2.
  15. ./configure --prefix=/usr/local/zlib
  16. make && make install
  17. ls -l /usr/local/zlib
  18. echo "*******************install zlib end*******************"
  19.  
  20. ## openssl
  21.  
  22. echo "*******************install openssl start*******************"
  23. cd /usr/local/src && wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz --no-check-certificate
  24. tar -xzf openssl-1.1.0e.tar.gz
  25. cd openssl-1.1.0e/
  26. ./config --prefix=/usr/local/openssl
  27. ./config -t
  28. make && make install
  29. ls /usr/local/bin/openssl -l
  30. echo "*******************install openssl end*******************"
  31.  
  32. ## freetype
  33. echo "*******************install freetype start*******************"
  34. cd /usr/local/src && wget https://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.gz --no-check-certificate
  35. tar -zxvf freetype-2.4..tar.gz
  36. cd freetype-2.4./
  37. ./configure --prefix=/usr/local/freetype
  38. make && make install
  39. echo "*******************install freetype end*******************"
  40.  
  41. ## PHP安装
  42. echo "*******************install php-7.0.30 start*******************"
  43.  
  44. cd /usr/local/src && wget http://cn2.php.net/distributions/php-7.0.30.tar.gz
  45. tar -zxvf php-7.0..tar.gz
  46. cd php-7.0.
  47. ./configure \
  48. --prefix=/usr/local/php7.0.30 \
  49. --mandir=/usr/local/php7.0.30/share/man \
  50. --infodir=/usr/local/php7.0.30/share/info \
  51. --enable-fpm \
  52. --enable-mbstring \
  53. --enable-zib \
  54. --enable-bcmath \
  55. --enable-opcache \
  56. --enable-pcnt \
  57. --enable-soa \
  58. --enable-calenda \
  59. --enable-exif \
  60. --enable-ftp \
  61. --enable-intl \
  62. --with-curl \
  63. --with-gd \
  64. --with-jpeg-dir=/usr/local/zlib \
  65. --with-png-dir=/usr/local/zlib \
  66. --with-mysql \
  67. --with-pdo_mysql \
  68. --with-mcrypt \
  69. --with-freetype-dir=/usr/local/freetype \
  70. --with-zlib=/usr/local/zlib \
  71. --with-openssl
  72.  
  73. make && make install
  74. if [ $? != ];then
  75. exit
  76. fi
  77. ln -s /usr/local/php7.0.30 /usr/local/php
  78. cp /usr/local/src/php-7.0./php.ini-development /usr/local/php7.0.30/lib/php.ini
  79. cp /usr/local/php7.0.30/etc/php-fpm.conf.default /usr/local/php7.0.30/etc/php-fpm.conf
  80. cp /usr/local/php7.0.30/etc/php-fpm.d/www.conf.default /usr/local/php7.0.30/etc/php-fpm.d/www.conf
  81.  
  82. echo "*******************install php-7.0.30 end*******************"
  83.  
  84. ## Mongo扩展
  85. echo "*******************install Mongo扩展 start*******************"
  86. cd /usr/local/src && wget http://pecl.php.net/get/mongodb-1.5.2.tgz
  87. tar -zxvf mongodb-1.5..tgz
  88. cd mongodb-1.5./
  89. /usr/local/php7.0.30/bin/phpize
  90. ./configure --with-php-config=/usr/local/php7.0.30/bin/php-config
  91. make && make install
  92. ls /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
  93.  
  94. echo "*******************install Mongo扩展 end*******************"
  95.  
  96. ## Redis扩展
  97. echo "*******************install Redis扩展 start*******************"
  98. cd /usr/local/src && wget http://pecl.php.net/get/redis-4.0.2.tgz
  99. tar -zxvf redis-4.0..tgz
  100. cd redis-4.0./
  101. /usr/local/php7.0.30/bin/phpize
  102. ./configure --with-php-config=/usr/local/php7.0.30/bin/php-config
  103. make && make install
  104. ls /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
  105. echo "*******************install Redis扩展 end*******************"
  106.  
  107. ## tideways扩展
  108. echo "*******************install tideways扩展 start*******************"
  109. 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
  110. tar -zxf tideways-php-5.0.-x86_64.tar.gz
  111. cd tideways-5.0.
  112. /usr/local/php7.0.30/bin/phpize
  113. cp tideways-php-7.0.so /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
  114. cd /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
  115. mv tideways-php-7.0.so tideways.so
  116. echo "*******************install tideways扩展 end*******************"
  117.  
  118. ## ioncube_loaders 扩展
  119. echo "*******************install ioncube_loaders start*******************"
  120. cd /usr/local/src && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz --no-check-certificate
  121. tar -zxvf ioncube_loaders_lin_x86-.tar.gz
  122. cd ioncube/
  123. ls
  124. cp ioncube_loader_lin_7..so /usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/
  125. echo "*******************install ioncube_loaders end*******************"
  126.  
  127. .修改配置文件
  128.  
  129. # php.ini配置文件
  130.  
  131. # vim /usr/local/php7.0.30/lib/php.ini
  132. [dba]
  133.  
  134. extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-/
  135. extension=redis.so
  136. extension=mongodb.so
  137.  
  138. [tideways]
  139. extension=tideways.so
  140. ;不需要自动加载,在程序中控制就行
  141. tideways.auto_prepend_library=
  142. ;频率设置为100,在程序调用时能改
  143. tideways.sample_rate=
  144.  
  145. [ionCube Loader]
  146. zend_extension=ioncube_loader_lin_7..so
  147.  
  148. # php-fpm.conf文件
  149. [root@eus_filmora_file01:/usr/local/php]# egrep -v '^$|^;' /usr/local/php/etc/php-fpm.conf
  150. [global]
  151. process.max =
  152. rlimit_files =
  153. events.mechanism = epoll
  154. include=/usr/local/php7.0.30/etc/php-fpm.d/*.conf
  155.  
  156. sed -i 's#user = nobody#user = apache#g' /usr/local/php7.0.30/etc/php-fpm.d/www.conf
  157. sed -i 's#group = nobody#group = users#g' /usr/local/php7.0.30/etc/php-fpm.d/www.conf
  158.  
  159. # www.conf文件
  160. [root@eus_filmora_file01:/usr/local/php]# egrep -v '^$|^;' /usr/local/php/etc/php-fpm.d/www.conf
  161. [www]
  162. user = apache
  163. group = users
  164. listen = 127.0.0.1:9000
  165. pm = dynamic
  166. pm.max_children = 500
  167. pm.start_servers = 32
  168. pm.min_spare_servers = 16
  169. pm.max_spare_servers = 64
  170. pm.process_idle_timeout = 10s;
  171. pm.max_requests = 10240
  172. request_terminate_timeout = 100
  173. rlimit_core = 8
  174.  
  175. ##################启动脚本
  176.  
  177. # 生成软连接
  178. [root@eus_filmora_file02:/usr/local/src]# rm -f /usr/local/php
  179. [root@eus_filmora_file02:/usr/local/src]# ln -s /usr/local/php7.0.30/ /usr/local/php
  180.  
  181. [root@eus_filmora_file01:/usr/local/src/tideways-5.0.18]# vim /etc/init.d/php-fpm
  182. #! /bin/sh
  183.  
  184. ### BEGIN INIT INFO
  185. # Provides: php-fpm
  186. # Required-Start: $remote_fs $network
  187. # Required-Stop: $remote_fs $network
  188. # Default-Start: 2 3 4 5
  189. # Default-Stop: 0 1 6
  190. # Short-Description: starts php-fpm
  191. # Description: starts the PHP FastCGI Process Manager daemon
  192. ### END INIT INFO
  193.  
  194. prefix=/usr/local/php
  195. exec_prefix=${prefix}
  196.  
  197. php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  198. php_fpm_CONF=${prefix}/etc/php-fpm.conf
  199. php_fpm_PID=${prefix}/var/run/php-fpm.pid
  200.  
  201. php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
  202.  
  203. wait_for_pid () {
  204. try=0
  205.  
  206. while test $try -lt 35 ; do
  207.  
  208. case "$1" in
  209. 'created')
  210. if [ -f "$2" ] ; then
  211. try=''
  212. break
  213. fi
  214. ;;
  215.  
  216. 'removed')
  217. if [ ! -f "$2" ] ; then
  218. try=''
  219. break
  220. fi
  221. ;;
  222. esac
  223.  
  224. echo -n .
  225. try=`expr $try + 1`
  226. sleep 1
  227.  
  228. done
  229.  
  230. }
  231.  
  232. case "$1" in
  233. start)
  234. echo -n "Starting php-fpm "
  235.  
  236. $php_fpm_BIN --daemonize $php_opts
  237.  
  238. if [ "$?" != 0 ] ; then
  239. echo " failed"
  240. exit 1
  241. fi
  242.  
  243. wait_for_pid created $php_fpm_PID
  244.  
  245. if [ -n "$try" ] ; then
  246. echo " failed"
  247. exit 1
  248. else
  249. echo " done"
  250. fi
  251. ;;
  252.  
  253. stop)
  254. echo -n "Gracefully shutting down php-fpm "
  255.  
  256. if [ ! -r $php_fpm_PID ] ; then
  257. echo "warning, no pid file found - php-fpm is not running ?"
  258. exit 1
  259. fi
  260.  
  261. kill -QUIT `cat $php_fpm_PID`
  262.  
  263. wait_for_pid removed $php_fpm_PID
  264.  
  265. if [ -n "$try" ] ; then
  266. echo " failed. Use force-quit"
  267. exit 1
  268. else
  269. echo " done"
  270. fi
  271. ;;
  272.  
  273. force-quit)
  274. echo -n "Terminating php-fpm "
  275.  
  276. if [ ! -r $php_fpm_PID ] ; then
  277. echo "warning, no pid file found - php-fpm is not running ?"
  278. exit 1
  279. fi
  280.  
  281. kill -TERM `cat $php_fpm_PID`
  282.  
  283. wait_for_pid removed $php_fpm_PID
  284.  
  285. if [ -n "$try" ] ; then
  286. echo " failed"
  287. exit 1
  288. else
  289. echo " done"
  290. fi
  291. ;;
  292.  
  293. restart)
  294. $0 stop
  295. $0 start
  296. ;;
  297.  
  298. reload)
  299.  
  300. echo -n "Reload service php-fpm "
  301.  
  302. if [ ! -r $php_fpm_PID ] ; then
  303. echo "warning, no pid file found - php-fpm is not running ?"
  304. exit 1
  305. fi
  306.  
  307. kill -USR2 `cat $php_fpm_PID`
  308.  
  309. echo " done"
  310. ;;
  311.  
  312. *)
  313. echo "Usage: $0 {start|stop|force-quit|restart|reload}"
  314. exit 1
  315. ;;
  316.  
  317. esac
  318.  
  319. #######################
  320.  
  321. 测试的域名
  322. # vim /usr/local/nginx/conf/vhost.d/film.chinasoft.com.conf
  323. server {
  324. listen 80;
  325.  
  326. server_name film.chinasoft.com;
  327.  
  328. proxy_connect_timeout 1800s;
  329. proxy_read_timeout 1800s;
  330. proxy_send_timeout 1800s;
  331. access_log /data/www/logs/nginx_log/access/film.chinasoft.com_access.log main ;
  332. access_log on;
  333. error_log /data/www/logs/nginx_log/error/film.chinasoft.com_error.log ;
  334. root /data/www/vhosts/film.chinasoft.com/httpdocs/api/public ;
  335. index index.html index.shtml index.php ;
  336. error_page 404 403 /404.html;
  337.  
  338. location / {
  339. index index.php index.html index.htm;
  340. try_files $uri $uri/ /index.php?$query_string;
  341. }
  342.  
  343. location ~ \.php$ {
  344. #fastcgi_pass unix:/tmp/php-cgi.sock;
  345. fastcgi_pass 127.0.0.1:9000;
  346. fastcgi_index index.php;
  347. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  348. include fastcgi_params;
  349. }
  350.  
  351. location ^~ /logs/
  352. {
  353. deny all;
  354. }
  355.  
  356. }
  357.  
  358. server {
  359. listen 443;
  360. ssl on;
  361.  
  362. ssl_certificate cert2016/chinasoft_com.crt;
  363. ssl_certificate_key cert2016/chinasoft_com.key;
  364. ssl_dhparam cert2016/dh_2048.pem;
  365.  
  366. ssl_session_timeout 5m;
  367. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  368.  
  369. 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";
  370.  
  371. ssl_prefer_server_ciphers on;
  372.  
  373. server_name film.chinasoft.com;
  374. access_log /data/www/logs/nginx_log/access/film.chinasoft.com_access.log main ;
  375. error_log /data/www/logs/nginx_log/error/film.chinasoft.com_error.log ;
  376.  
  377. root /data/www/vhosts/film.chinasoft.com/httpdocs/api/public ;
  378. index index.html index.shtml index.php ;
  379. error_page 404 403 /404.html;
  380.  
  381. location / {
  382. index index.php index.html index.htm;
  383. try_files $uri $uri/ /index.php?$query_string;
  384. }
  385.  
  386. location ~ \.php$ {
  387.  
  388. fastcgi_pass 127.0.0.1:9000;
  389. fastcgi_index index.php;
  390. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  391. include fastcgi_params;
  392. }
  393.  
  394. }
  395.  
  396. # 创建测试页面
  397. [root@eus_filmora_file01:/usr/local/php]# mkdir -p /data/www/vhosts/film.chinasoft.com/httpdocs/api/public
  398. [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

  1. [opcache]
  2. zend_extension=/usr/local/php7.0.30/lib/php/extensions/no-debug-non-zts-/opcache.so
  3. opcache.memory_consumption=
  4. opcache.interned_strings_buffer=
  5. opcache.max_accelerated_files=
  6. opcache.revalidate_freq=
  7. opcache.fast_shutdown=
  8. opcache.enable_cli=
  9. opcache.enable=
  10. opcache.force_restart_timeout=
  11. 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. 炸弹人游戏开发系列(7):加入敌人,使用A*算法寻路

    前言 上文中我们实现了炸弹人与墙的碰撞检测,以及设置移动步长来解决发现的问题.本文会加入1个AI敌人,敌人使用A*算法追踪炸弹人. 本文目的 加入敌人,追踪炸弹人 本文主要内容 开发策略 加入敌人 实 ...

  2. Winform 最小化双击显示,最小化右键退出。退出

    WinForm 之 窗口最小化到托盘及右键图标显示菜单 Form最小化是指整个Form都缩小到任务栏上,但是窗体以Form的标题栏形式显示在任务栏上, 若是想让Form以Icon的形式显示在任务栏右下 ...

  3. 使用ffmpeg视频切片并加密

    想达到的目的:将一个mp4视频文件切割为多个ts片段,并在切割过程中对每一个片段使用 AES-128 加密,最后生成一个m3u8的视频索引文件: 电脑环境 Fedora,已经安装了最新的ffmpeg: ...

  4. Bugku 分析 中国菜刀

    解压之后得到了一个流量包,只有不到10KB,美滋滋 先抓重点,过滤出http,只有6条数据记录,3条post,3条response,3条post都是一样的 随便打开一条pos 是一个assert断言, ...

  5. vue中@contextmenu在pc和mac中的区别

    项目中有用到右键菜单,故用了@contextmenu,由于本人是用的PC电脑,所以一切正常, 但是有同事用mac测试了一下,问题随之而来,MAC上右键按下就触发了, PC上面是鼠标抬起才会触发,所以这 ...

  6. error:Microsoft Visual C++ 14.0 is required.

    1,下载14.0安装包,解压,再次执行pip install XX命令 2,安装包已经在下载文件中 3,最不行找这个网站 https://www.microsoft.com/zh-cn/downloa ...

  7. 解决Docker安装MySQL不区分大小写问题

    Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...

  8. 【XSY2843】「地底蔷薇」 NTT什么的 扩展拉格朗日反演

    题目大意 给定集合\(S\),请你求出\(n\)个点的"所有极大点双连通分量的大小都在\(S\)内"的不同简单无向连通图的个数对\(998244353\)取模的结果. \(n\le ...

  9. Angular6封装http请求

    最近抽空学习了一下Angular6,之前主要使用的是vue,所以免不了的也想对Angular6提供的工具进行一些封装,今天主要就跟大家讲一下这个http模块. 之前使用的ajax库是axios,可以设 ...

  10. AHOI2019N省联考凉凉记

    博主并未时空穿越,本文没有对选手造成恐慌 DAY0 这已经是我第四次省选了,时间真快啊,怀念三年前毫无压力的省选,考完以后如果有时间并且没退役的话可能会陆续搬以前写在别处的游记(主要是2018年的游记 ...