Centos7 PHP 7.05部署文档及普通用户启动

更新于 1月7日  约 6 分钟
接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线安装:

  因为不同的操作系统环境,系统安装开发环境包的完整程度也不相同,所以建议安装操作系统的时候做必要选择,也可以统一执行一遍所有的命令,将没有安装的组件安装好,如果已经安装了可能会进行升级,版本完全一致则不会进行任何操作,命令除上面2个之外,汇总如下:

yum -y install ntpdate lrzsz tree cmake gcc gcc-c++ autoconf l libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libxslt-devel libtool-ltdl-devel make wget docbook-dtds asciidoc e2fsprogs-devel gd gd-devel openssl openssl-devel lsof git unzip gettext-devel gettext libevent libevent-devel pcre pcre-devel vim libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libm
crypt-devel bzip2 bzip-devel libxslt libxslt-devel freetype
wget -O php-7.0.5.tar.gz  http://cn2.php.net/get/php-7.0.5.tar.gz/from/this/mirror

tar -xzf php-7.0.5.tar.gz

cd php-7.0.5 

./configure --prefix=/data/php5 --with-curl --with-freetype-dir --with-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-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip


make && make install

chown -R xxxx:xxxx /data/php
cd php-7.0.5
cp php.ini-development /data/php/lib/php.ini
cp /data/php/etc/php-fpm.conf.default /data/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin/
[root@iz2ze8ip0m748wp4lnu6pjz ~]# grep -v "#" /data/php/etc/php-fpm.d/www.conf | grep -v ";"

[www]

user = xxxx
group = xxxx
listen = 0.0.0.0:9000


pm = dynamic

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3
php-fpm #启动
php-fpm启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tlnp | grep 9000 可以查看端口使用情况:9000端口正常使用,说明php-fpm服务启动成功
  • 当使用普通用户时会出现如下情况:
php-fpm5
[06-Jan-2020 20:12:40] ERROR: unable to bind listening socket for address '127.0.0.1:9001': Address already in use (98)
[06-Jan-2020 20:12:40] ERROR: FPM initialization failed
  • 解决办法如下(nginx普通用户启动也可如此操作)

[root@iz2u6pjz bin]# chown root:xxxx php-fpm
[root@iz2u6pjz bin]# ll /usr/local/bin/php-fpm
-rwxr-xr-x 1 root xxxx 39454128 Jan  6 19:39 /usr/local/bin/php-fpm
[root@iz2u6pjz data]# cd /usr/local/bin/
[root@iz2u6pjz bin]# chmod u+s php-fpm
[root@iz2u6pjz bin]# ll php-fpm
-rwsr-xr-x 1 root xxxx 39454128 Jan  6 19:39 php-fpm

阅读 137更新于 1月7日

推荐阅读
目录