详解Centos7源码编译安装php7.2之⽣产篇
介绍:
久闻php7的速度以及性能那可是⽐php5系列的任何⼀版本都要快,具体性能有多好,建议还是先尝试下再说。如果你是升级或新安装,那你⾸先需要考虑php7和程序是否存在兼容性,如果程序是基于php5开发的,那么就需要考虑php7是否适合你当前的⽣产环境,今天我就实操并安装⽤于⽣产中。
先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进⼊下⼀个环节。
安装扩展包并更新系统内核:
$ yum install epel-release -y
$ yum update
安装php依赖组件(包含Nginx依赖):
复制代码代码如下:
$ yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
创建⽤户和组,并下载php安装包解压:
$ cd /tmp
$ groupadd www
$ useradd -g www www
$ wget am1.php/distributions/php-7.2.
$ tar xvf php-7.2.
$ cd php-7.2.1
设置变量并开始源码编译:
$ cp -frp /usr/lib64/libldap* /usr/lib/
$ ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
-
-with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
-
-enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--with-mcrypt \
--with-libmbfl \
--enable-ftp \
--with-gd \
--enable-gd-jis-conv \
--enable-gd-native-ttf \
-
-with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--with-pear \
-
-enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm \
若⽆报错执⾏下⼀步安装,如果编译过程中出现错误,根据报错安装依赖包,通常不会出现这种问题。
注意:–enable-gd-jis-conv  此参数会导致Zabbix中⽂字符乱码,建议取消。
开始安装:
$ make -j 4 && make install
完成安装后配置php.ini⽂件:
$ cp php.ini-development /usr/local/php/etc/php.ini
$ cp /usr/local/php/f.default /usr/local/php/f
$ cp /usr/local/php/etc/php-fpm.f.default /usr/local/php/etc/php-fpm.f
修改 php.ini 相关参数:
$ vim /usr/local/php/etc/php.ini
expose_php = Off
short_open_tag = ON
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/ldap.so"
设置 OPcache 缓存:
[opcache]
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20160303/opcache.so
<_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.fast_shutdown=1
设置php安全函数:
$ vim /usr/local/php/etc/php.ini
默认值:
disable_functions =
修改为:
复制代码代码如下:
disable_functions =
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,po posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid,
posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,
posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
或通配:
复制代码代码如下:
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
配置f
取消以下注释并修改优化其参数:
listen = /var/run/www/php-cgi.sock
listen.owner = www
listen.allowed_clients = 127.0.0.1
pm = dynamic
listen.backlog = -1
pm.max_children = 180
pm.start_servers = 50
pm.min_spare_servers = 50
pm.max_spare_servers = 180
request_terminate_timeout = 120
request_slowlog_timeout = 50
slowlog = var/log/slow.log
创建php-cgi.sock存放⽬录
$ mkdir /var/run/www/
$ chown -R www:www /var/run/www
配置f
取下以下注释并填写完整路径:
pid = /usr/local/php/var/run/php-fpm.pid
⾄此php7已经安装完成。
说明:禁⽤php函数,如果程序需要这些函数,可以取消禁⽌,新⼿建议忽略此步骤。
创建system系统单元⽂件php-fpm启动脚本:
$ vim /usr/lib/systemd/system/php-fpm.service
添加如下变量内容:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
php8兼容php7吗PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/f
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
启动php-fpm服务并加⼊开机⾃启动:
$ systemctl enable php-fpm.service
$ systemctl restart php-fpm.service
PHP整个安装过程已经完成。如果你是按照本⽂安装未成功的,希望你能留⾔说明错误原因,我将⽆偿协助你配置。
如果你有好的建议完善该⽂章,⾮常欢迎你提出和改进,我们⼀起共同学习和进步。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。