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
复制启动脚本:
$ 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
$ cd php-fpm.d
$ cp www.conf.default www.conf
$ vim www.conf
$ /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 文件中 加上一下的两句设置
-
PATH=$PATH:/www/server/php/56/bin
-
export PATH
最后执行一下 这个 环境更换命令
source /etc/profile
然后echo $PATH 查看
![]()
如果有这个则表明已经生效,在执行php -v就可以查看php版本了
至此安装php安装完成


浙公网安备 33010602011771号