>  기사  >  백엔드 개발  >  CentOS에서 php7.2 컴파일 및 설치

CentOS에서 php7.2 컴파일 및 설치

不言
不言원래의
2018-06-02 16:03:141647검색

이 글은 주로 CentOS에서 php7.2의 컴파일과 설치를 소개합니다. 이제는 모든 사람들과 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다

소개:

있습니다. php7의 속도에 대해서는 오랫동안 들어봤는데 php5 시리즈의 어떤 버전보다 성능이 빠르네요. 구체적인 성능은 어느 정도 좋은지 먼저 사용해 보시는 걸 추천합니다. 새로 업그레이드하거나 설치하는 경우 먼저 php7이 프로그램과 호환되는지 여부를 고려해야 하며, 프로그램이 php5를 기반으로 개발된 경우에는 php7이 현재 프로덕션 환경에 적합한지 여부를 고려해야 합니다. 그것을 수행하고 프로덕션에 설치하십시오.

php 의존성 패키지를 먼저 설치하세요. 그렇지 않으면 php7을 컴파일하고 설치하는 동안 다양한 오류가 나타날 것입니다. 설치가 완료된 후 다음 단계로 들어가시면 됩니다.

확장 패키지 설치 및 시스템 커널 업데이트:

yum install epel-release -yyum 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 wwwwget http://am1.php.net/distributions/php-7.2.1.tar.gztar xvf php-7.2.1.tar.gz
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.inicp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.confcp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
php.ini 관련 매개변수 수정:

vim /usr/local/php/etc/php.ini
expose_php = Off
short_open_tag = ON
max_execution_time = 300max_input_time = 300memory_limit = 128M
post_max_size = 32Mdate.timezone = Asia/Shanghai
mbstring.func_overload=2extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20170718/ldap.so"#OPcache 缓存
[opcache]
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/opcache.so
opcache.memory_consumption=128opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000opcache.revalidate_freq=60opcache.fast_shutdown=1opcache.enable_cli=1#设置php安全函数
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


#配置www.conf
listen = /var/run/www/php-cgi.sock
listen.owner = www
listen.group = www
listen.mode = 0660listen.allowed_clients = 127.0.0.1pm = dynamic
listen.backlog = -1pm.max_children = 180pm.start_servers = 50pm.min_spare_servers = 50pm.max_spare_servers = 180request_terminate_timeout = 120request_slowlog_timeout = 50slowlog = var/log/slow.log
www.conf

listen = /var/run/www/php-cgi.sock
listen.owner = www
listen.group = www
listen.mode = 0660listen.allowed_clients = 127.0.0.1pm = dynamic
listen.backlog = -1pm.max_children = 180pm.start_servers = 50pm.min_spare_servers = 50pm.max_spare_servers = 180request_terminate_timeout = 120request_slowlog_timeout = 50slowlog = var/log/slow.log
구성 만들기 php-cgi .sock 저장 디렉터리

mkdir /var/run/www/chown -R www:www /var/run/www
php-fpm.conf 구성

vim /usr/local/php/etc/php-fpm.conf

取下以下注释并填写完整路径:

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
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

启动php-fpm服务并加入开机自启动:

systemctl enable php-fpm.service
systemctl restart php-fpm.service

위 내용은 CentOS에서 php7.2 컴파일 및 설치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.