php之linux下编译安装

系统环境:centos 7.6

安装路径:usr/local/php

1、先安装如下依赖包

$ yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

2、下载php包,此处用的php php-7.4.16(wget https://www.php.net/distributions/php-7.4.16.tar.gz)

tar -xvf php-7.4.16.tar.gz(解压php包)

进入php-7.4.16目录,进行编译

./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --enable-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --enable-fpm --enable-cli

如果编译的时候提示  no package 'oniguruma' found

在编译安装 PHP 7.4 时,如果使用 --with-mbstring 参数,则需要安装 oniguruma。oniguruma 是一个处理正则表达式库,php7.4 中,mbstring 正则表达式处理功能对这个包有依赖。所以,安装 php7.4 前需要安装 oniguruma 和 oniguruma-devel 两个软件包。

一般安装epel 然后安装即可:

yum install -y epel-release
yum install -y oniguruma oniguruma-devel

不行的话就手动安装/更新 epel:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum install -y oniguruma oniguruma-devel

或者:

yum remove epel-release #如果报冲突,先把冲突的包删除
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y oniguruma oniguruma-devel
yum clean all && yum makecache
yum repolist all #检查 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64

如果报错 no package 'sqlite3' found
yum install sqlite-devel

编译完成之后,执行安装命令:

$ make && make install

修改php配置表

在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

$ cp php.ini-production /usr/local/php/php.ini

[可选项] 设置让PHP错误信息打印在页面上 

$ vim /usr/local/php/php.ini 

display_errors = On

复制启动脚本:

$ cp  /usr/local/php-7.4.16/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

$ chmod +x /etc/init.d/php-fpm

修改php-fpm配置文件:

$ cd /usr/local/php/etc

$ cp php-fpm.conf.default php-fpm.conf

$ vim php-fpm.conf

去掉 pid = run/php-fpm.pid 前面的分号

$ cd php-fpm.d

$ cp www.conf.default www.conf

$ vim www.conf

可以忽略(修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组))
 
启动php进程

$ /etc/init.d/php-fpm start        #php-fpm启动命令

$ /etc/init.d/php-fpm stop         #php-fpm停止命令

$ /etc/init.d/php-fpm restart        #php-fpm重启命令

$ ps -ef | grep php 或者 ps -A | grep -i php  #查看是否已经成功启动PHP

php -v 查看版本,如果报错 php:command not found

登录你的服务器  打开根目录下的 这个文件 

vim /etc/profile

查看一下 是否有这个路径配置 如果没有就找到你现在使用的 php目录

 

 /usr/local/php/bin  这个是我的目录,需要改自身对应的目录

如果这个文件里面没有则加上在 /etc/profile  文件中 加上一下的两句设置 

  1. PATH=$PATH:/www/server/php/56/bin
  2. export PATH

最后执行一下 这个 环境更换命令 

 source /etc/profile

然后echo $PATH 查看

 

 如果有这个则表明已经生效,在执行php -v就可以查看php版本了

至此安装php安装完成



 
 

 

posted @ 2021-04-09 18:42  絮风幻影  阅读(362)  评论(1)    收藏  举报