Centos7 编译安装PHP7.2

时间:2024-06-23 22:05:44

yum install wget

在 /usr/local/src 目录下载php源码包

wget http://cn2.php.net/distributions/php-7.2.4.tar.gz

解压源码包
tar zxvf php-7.2.1.tar.gz 
安装编译php需要的依赖包:
yum install gcc autoconf gcc-c++
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install systemd-devel
yum install openjpeg-devel
添加php-fpm用户
创建群组
groupadd php-fpm
创建一个用户,不允许登陆和不创主目录

useradd -s /sbin/nologin -g php-fpm -M php-fpm

编译参数:

  1. 开发环境:
  2.     --enable-phpdbg\
  3.     --enable-dtrace\
  4. 生产环境:
  5.     --disable-phpdbg\
  6.     --disable-dtrace\
  1. ./configure \
  2. --prefix=/usr/local/php \
  3. --with-config-file-path=/usr/local/php/etc \
  4. --with-zlib-dir \
  5. --with-freetype-dir \
  6. --enable-mbstring \
  7. --with-libxml-dir=/usr \
  8. --enable-xmlreader \
  9. --enable-xmlwriter \
  10. --enable-soap \
  11. --enable-calendar \
  12. --with-curl \
  13. --with-zlib \
  14. --with-gd \
  15. --with-pdo-sqlite \
  16. --with-pdo-mysql \
  17. --with-mysqli \
  18. --with-mysql-sock \
  19. --enable-mysqlnd \
  20. --disable-rpath \
  21. --enable-inline-optimization \
  22. --with-bz2 \
  23. --with-zlib \
  24. --enable-sockets \
  25. --enable-sysvsem \
  26. --enable-sysvshm \
  27. --enable-pcntl \
  28. --enable-mbregex \
  29. --enable-exif \
  30. --enable-bcmath \
  31. --with-mhash \
  32. --enable-zip \
  33. --with-pcre-regex \
  34. --with-jpeg-dir=/usr \
  35. --with-png-dir=/usr \
  36. --with-openssl \
  37. --enable-ftp \
  38. --with-kerberos \
  39. --with-gettext \
  40. --with-xmlrpc \
  41. --with-xsl \
  42. --enable-fpm \
  43. --with-fpm-user=php-fpm \
  44. --with-fpm-group=php-fpm \
  45. --with-fpm-systemd \
  46. --disable-fileinfo

执行编译:

make && make install

php-ini:

源码包里面有配置文件:

php.ini-development     测试开发环境

php.ini-production         生产环境

复制一份到指定的目录下(根据自己的情况选用,自己可以对比下这两个文件的差异):

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

php-fpm复制一份新的php-fpm配置文件:

cd /usr/local/php/etc

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

vim php-fpm.conf

配置错误日志:

error_log = /usr/local/php/var/php-fpm.log

配置pid文件:

pid = /usr/local/php/var/run/php-fpm.pid

保存退出

cd /usr/local/php/etc/php-fpm.d

cp www.conf.default  www.conf

管理php-fpm配置:

cd /usr/local/src/php-7.2.4

cp ./sapi/fpm/php-fpm.service 到 /usr/lib/systemd/system/下

配置开机启动php-fpm:

systemctl enable php-fpm

启动php-fpm:

systemctl start php-fpm

查看状态:

systemctl status php-fpm

添加环境变量:

vim  /etc/profile

在末尾追加:

export PATH=$PATH:'/usr/local/php/bin/'

保存退出。

source /etc/profile

测试:

php -v

看到下面这个就表示已经成功了。

Centos7 编译安装PHP7.2

如果需要区分web和cli环境,可以将 /usr/local/php/etc/php.ini 复制一份,重命名为php-cli.ini

cp /usr/local/php/etc/php.ini  /usr/local/php/etc/php-cli.ini

需要调整配置,就在各自的配置文件中进行调整即可。