介绍Centos安装PHP7及配置php-fpm开机启动

介绍Centos安装PHP7及配置php-fpm开机启动

推荐(免费):PHP7

cd /usr/local/srcwget -c http://cn2.php.net/distributions/php-7.2.11.tar.gz

登录后复制

下载好后解压 php-7.2.11.tar.gz 压缩包,并进入解压后的目录

tar -xzvf php-7.2.11.tar.gzcd php-7.2.11

登录后复制

安装php7需要的一些依赖库包 libxml2和一些其他依赖的扩展库

yum -y install libxml2 yum -y install libxml2-devel yum -y install openssl yum -y install openssl-devel yum -y install curl-devel yum -y install libjpeg-devel yum -y install libpng-devel yum -y install freetype-develyum -y install bzip2-develyum -y install libmcrypt libmcrypt-develyum -y install postgresql-develyum -y install aspell-develyum -y install readline-develyum -y install libxslt-develyum -y install net-snmp-develyum -y install unixODBC-develyum -y install libicu-develyum -y install libc-client-develyum -y install libXpm-develyum -y install libvpx-develyum -y install enchant-develyum -y install openldapyum -y install openldap-develyum -y install db4-develyum -y install gmp-develyum -y install sqlite-develyum -y install mysql-devel

登录后复制

yum install oniguruma-devel -y

登录后复制

安装前的环境配置检查,php7的一些依赖包的检查和php扩展的启动,这个过程如果缺少php依赖的库包会有报错提示。

添加用户和组: (此处用户和组为 nginx, 我 nginx 用的用户名 ) groupadd -r nginx && useradd -r -g nginx -s /sbin/nologin

立即学习“PHP免费学习笔记(深入)”;

php 安装配置  

请根据以下 A B C 选择合适的一项进行安装配置

A. PHP 7.2.10 单选模式

./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –enable-fpm –with-fpm-user=nginx –with-fpm-group=nginx –enable-inline-optimization –disable-debug –disable-rpath –enable-shared –enable-soap –with-xmlrpc –with-openssl –with-mcrypt –with-pcre-regex –with-sqlite3 –with-zlib –enable-bcmath –with-iconv –with-bz2 –enable-calendar –with-curl –with-cdb –enable-dom –enable-exif –enable-fileinfo –enable-filter –with-pcre-dir –enable-ftp –with-gd –with-openssl-dir –with-jpeg-dir –with-png-dir –with-freetype-dir –enable-gd-native-ttf –enable-gd-jis-conv –with-gettext –with-gmp –with-mhash –enable-json –enable-mbstring –enable-mbregex –enable-mbregex-backtrack –with-libmbfl –with-onig –enable-pdo –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-zlib-dir –with-pdo-sqlite –with-readline –enable-session –enable-shmop –enable-simplexml –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –with-libxml-dir –with-xsl –enable-zip –enable-mysqlnd-compression-support –with-pear –enable-opcache

B. PHP 7.2.10 多行模式

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm  --with-fpm-user=nginx --with-fpm-group=nginx  --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-xmlrpc --with-openssl --with-mcrypt --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache

登录后复制

 C. PHP 7.4.10

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-xmlrpc --with-openssl --with-mcrypt --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-kerberos --with-libdir=lib64 --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --enable-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --with-zip --enable-xml --enable-mysqlnd-compression-support --with-pear --enable-opcache --enable-pcntl

登录后复制

 从 PHP 7.4.0 开始,必须在编译 PHP 时用 –with-zip 配置选项来提供 zip 支持。之前的 PHP 版本,需要使用 –enable-zip 选项。

对php7进行编译和安装的操作

make && make install

( 如果出现 make: *** [sapi/cli/php] Error 1 的错误,通过继续执行 make ZEND_EXTRA_LIBS=’-liconv’ 命令解决

编译成功,查看php版本

/usr/local/php/bin/php -v

运行php-fpm

/usr/local/php/sbin/php-fpm

启动php-fpm可能会遇到的错误,基本都是配置文件配置和重命名的问题:

错误一:缺少www.conf配置文件(WARNING: Nothing  matches the include pattern /usr/local/php/etc/php-fpm.d/*.conf),需要把/usr/local/php/etc/php-fpm.d/*.conf目录中的www.conf.default重命名为www.conf。

错误二:缺少php-fpm.conf配置文件 需要在/usr/local/php/etc/php-fpm.conf 把默认的配置文件php-fpm.conf.default改成php-fpm.conf

错误三:缺少php.ini配置文件 php7编译安装好后会发现没有php.ini配置文件,需要在解压包的根目录中复制php.ini-production或php.ini-development并重命名为php.ini到php编译好的安装目录中的/usr/local/php/etc文件夹即可。

其它错误的解决:
error: Package requirements (sqlite3 > 3.7.4) were not met

yum install libsqlite3x-devel -y

登录后复制

error: Package requirements (oniguruma) were not met

yum install oniguruma-devel -y

登录后复制

 当yum install 提示 “没可用软件包”

yum install -y epel-release

登录后复制

off_t undefined 报错

configure: error: off_t undefined; check your library configuration

登录后复制

configure: WARNING: unrecognized options: –with-mcrypt, –enable-gd-native-ttf

php7.2以后不支持–with-mcrypt, –enable-gd-native-ttf 这两个参数,需要去掉

在centos7中编译安装好php后,系统重启后并不会对php进行开机启动,所以需要对centos7添加开机启动脚本对php进行开机启动服务。

php7编译安装方法:http://zixuephp.net/article-207.html    

手动启动:

/usr/local/php/sbin/php-fpm

开机自动启动:

开启配置php-fpm pid

#找到php-fpm.conf配置文件/usr/local/php/etc/php-fpm.conf#开启pid ,去掉分号注释pid = run/php-fpm.pid

 安装后要进行的操作:

1. 把安装目录下的 php.ini-development 复制到 /etc/ 目录下2. 修改 /usr/local/php/etc/php-fpm.conf.default 名为 php-fpm.conf 并进入修改3. 修改 /usr/local/php/etc/php-fpm.d/www.conf.default 为 www.conf 并进入修改

登录后复制

PHP 7.4.10 安装 ZIP

1 扩展包    wget https://pecl.php.net/get/zip-1.19.0.tgz 2 解压 并进入    tar -zxvf zip-1.19.0.tgz      2.2   cd  zip-1.19.03 /usr/local/php/bin/phpize  4 ./configure --with-php-config=/usr/local/php/bin/php-config   自己的php目录5 make && make install---------------------然后下载最新的,解压wget https://libzip.org/download/libzip-1.5.2.tar.gztar -zxvf libzip-1.5.2.tar.gz这时发现还要安装cmake,再去下载cmake:wget https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4.tar.gz解压:tar -zxvf cmake-3.15.4.tar.gz注意:cmake要按照文档安装./bootstrap && make && sudo make install漫长的等待,安装完成后,执行cmake -version出现版本号即表示cmake安装成功。接下来, 再进入 cd libzip-1.5.2mkdir build && cd build/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/libzip ..makemake install//检测libzip是否安装成功whereis libzip libzip: /usr/local/libzip

登录后复制

创建开机启动脚本

在Linux中将php-fpm配置成服务的方法

PHP 源文件路径:   /usr/local/src/php-7.2.11/
PHP 安装后路径:   /usr/local/php/

1. 配置 php-fpm.conf

vim /usr/local/php/etc/php-fpm.conf

php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid

2. 拷贝php-fpm脚本至/etc/init.d目录

cp /usr/local/src/php-7.2.11/sapi/fpm/init.d.php-fpm /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 INFOprefix=/usr/local/phpexec_prefix=${prefix}php_fpm_BIN=${exec_prefix}/sbin/php-fpmphp_fpm_CONF=${prefix}/etc/php-fpm.confphp_fpm_PID=${prefix}/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"wait_for_pid () {try=0while test $try -lt 35 ; docase "$1" in'created')if [ -f "$2" ] ; thentry=''breakfi;;'removed')if [ ! -f "$2" ] ; thentry=''breakfi;;esacecho -n .try=`expr $try + 1`sleep 1done}case "$1" instart)echo -n "Starting php-fpm "$php_fpm_BIN --daemonize $php_optsif [ "$?" != 0 ] ; thenecho " failed"exit 1fiwait_for_pid created $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed"exit 1elseecho " done"fi;;stop)echo -n "Gracefully shutting down php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -QUIT `cat $php_fpm_PID`wait_for_pid removed $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed. Use force-quit"exit 1elseecho " done"fi;;status)if [ ! -r $php_fpm_PID ] ; thenecho "php-fpm is stopped"exit 0fiPID=`cat $php_fpm_PID`if ps -p $PID | grep -q $PID; thenecho "php-fpm (pid $PID) is running..."elseecho "php-fpm dead but pid file exists"fi;;force-quit)echo -n "Terminating php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -TERM `cat $php_fpm_PID`wait_for_pid removed $php_fpm_PIDif [ -n "$try" ] ; thenecho " failed"exit 1elseecho " done"fi;;restart)$0 stop$0 start;;reload)echo -n "Reload service php-fpm "if [ ! -r $php_fpm_PID ] ; thenecho "warning, no pid file found - php-fpm is not running ?"exit 1fikill -USR2 `cat $php_fpm_PID`echo " done";;configtest)$php_fpm_BIN -t;;*)echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"exit 1;;esac

登录后复制

3.设置权限并启动php-fpm:

chmod 755 /etc/init.d/php-fpm

/etc/init.d/php-fpm start

chkconfig –add php-fpm

最后,给出php-fpm以服务的方式启动、停止和重启:

service php-fpm start

service php-fpm stop

service php-fpm reload

PHP-FPM 自启动配置服务:  
vim /etc/rc.d/rc.local

介绍Centos安装PHP7及配置php-fpm开机启动

查看开机启动的所有服务

chkconfig –list

nginx demo 配置:(不要忘记chown www-data:www-data 网站目录 不然没权限)

介绍Centos安装PHP7及配置php-fpm开机启动

server {    listen      80;    server_name {{ server_name }};    access_log  /data/logs/nginx/{{ server_name }}/access.log;    error_log   /data/logs/nginx/{{ server_name }}/error.log;    location / {        index           index.php index.html index.htm;        root            /data/www/wwwroot/{{ server_name }}/;         if (!-e $request_filename) {            rewrite ^/(.*)$ /index.php;        }    }     location ~ .php$ {        include        fastcgi_params;        fastcgi_pass   unix:/tmp/php-fcgi.sock;        fastcgi_index  index.php;    }}

登录后复制

php-fpm配置 (重命名两个文件 其他看实际情况配置(略。。。))
www.conf.default -> www.conf
php-fpm.conf.default -> php-fpm.conf
启动: php-fpm -D
nginx -s reload

以上就是介绍Centos安装PHP7及配置php-fpm开机启动的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1971170.html

(0)
上一篇 2025年2月23日 07:57:50
下一篇 2025年2月23日 07:58:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • win7怎么装centos

    可以在 Windows 7 上安装 CentOS,前提是具备虚拟化软件和 CentOS ISO 镜像文件。步骤包括:1. 下载 CentOS ISO 镜像;2. 创建虚拟机并分配资源;3. 配置网络设置;4. 从 ISO 镜像启动;5. 安…

    2025年2月23日
    100
  • 如何编译php7安装目录

    编译php7安装目录的方法是:1、下载PHP7的源代码,并解压到本地目录中;2、安装所需依赖包,以确保PHP7能够正常运行;3、进入PHP7源代码目录,配置PHP7的编译参数;4、执行命令编译并安装PHP7即可。 本教程操作系统:Linux…

    2025年2月23日
    100
  • php7如何安装oauth2扩展

    php7安装oauth2扩展的方法:1、下载符合PHP版本的OAuth2扩展;2、解压文件并移动到PHP扩展目录;3、配置PHP.ini文件,找到Dynamic Extensions字段,并添加相应内容;4、使用“httpd -k rest…

    2025年2月23日
    100
  • php7和php5语法有什么区别

    php7和php5语法区别有:1、PHP7引入了严格的类型声明,而PHP5变量的类型是隐式的;2、PHP7引入了对标量类型声明的支持,而PHP5并没有;3、PHP7引入了NULL合并运算符,而PHP5检查一个变量是否存在并且不为null,需…

    2025年2月23日
    100
  • php7优化了哪些

    php7优化了:1、PHP7引入了一个新的Zend引擎,名为Zend Engine 3.0;2、PHP7提供了更好的内存管理,减少了内存泄漏和垃圾回收的成本;3、PHP7还引入了新的语言特性,提高代码的可读性和安全性;4、PHP7还改进了错…

    2025年2月23日
    100
  • php7弃用的函数有哪些

    php7弃用的函数有mysql_系列函数、ereg_ 系列函数、split()函数、create_function()函数、mcrypt_系列函数和iconv()函数等。详细介绍:1、mysql_系列函数,在PHP7中,mysql_系列函数…

    2025年2月23日
    100
  • php7的版本和5有哪些不同

    php7的版本和5的不同有性能提升、标量类型声明、返回值类型声明、异常处理改进、匿名类、语法改进、新的运算符、增强的错误处理和移除了一些旧特性等。详细介绍:1、性能提升,PHP7引入了全新的Zend引擎,名为Zend Engine 3.0,…

    2025年2月23日
    100
  • 简述PHP7加入了哪些新的特性

    PHP 7 引入了以下新特性:性能提升:通过 JIT(即时编译)和 HHVM 集成提高速度。错误处理改进:引入异常处理和类型提示以提高代码的可读性和安全性。新函数和类:添加了密码哈希算法和数据结构,以增强安全性并简化数据处理。语法增强:引入…

    2025年2月23日
    100
  • php怎么实现局部替换功能

    PHP局部替换字符串的方法有:使用str_replace()函数替换指定部分、mb_substr_replace()函数替换多字节部分、preg_replace()函数使用正则表达式替换,或者通过子字符串截取与拼接替换特定部分。 PHP 局…

    2025年2月23日
    100
  • php环境配置教程

    PHP 环境配置包括六个步骤:安装 PHP 扩展:下载扩展包、解压、修改 php.ini、重启 Web 服务器。安装 MySQL 扩展:安装 MySQL 客户端、下载扩展包、解压、修改 php.ini、重启 Web 服务器。安装 Compo…

    2025年2月23日
    100

发表回复

登录后才能评论