Dieser Artikel stellt hauptsächlich die Kompilierung und Installation von PHP7.2 auf CentOS vor. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.
Einleitung:
Ich habe schon lange gehört, dass die Geschwindigkeit und Leistung von PHP7 schneller sind als bei jeder Version der PHP5-Serie. Wie gut ist die spezifische Leistung? ?Es wird empfohlen, es zuerst auszuprobieren. Wenn Sie ein Upgrade durchführen oder ein neues Programm installieren, müssen Sie zunächst prüfen, ob eine Kompatibilität zwischen PHP7 und dem Programm besteht. Wenn das Programm auf PHP5 basiert, müssen Sie prüfen, ob PHP7 für Ihre aktuelle Produktionsumgebung geeignet ist Ich werde es tun und in der Produktion installieren.
Installieren Sie zuerst das PHP-Abhängigkeitspaket, andernfalls treten beim Kompilieren und Installieren von PHP7 verschiedene Fehler auf. Nachdem die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie das Erweiterungspaket und aktualisieren Sie den Systemkern:
yum install epel-release -yyum update
Installieren Sie PHP-abhängige Komponenten (einschließlich Nginx-Abhängigkeiten):
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
Erstellen Sie Benutzer und Gruppen, laden Sie das PHP-Installationspaket herunter und dekomprimieren Sie es:
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
Variablen festlegen und Quellcode-Kompilierung starten:
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
Wenn Es wird kein Fehler gemeldet. Wenn während des Kompilierungsvorgangs ein Fehler auftritt, installieren Sie das abhängige Paket gemäß dem Fehlerbericht.
Hinweis: –enable-gd-jis-conv Dieser Parameter führt dazu, dass chinesische Zabbix-Zeichen verstümmelt werden. Es wird empfohlen, ihn abzubrechen.
Starten Sie die Installation:
make -j 4 && make install
Konfigurieren Sie die php.ini-Datei nach Abschluss der Installation:
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-bezogene Parameter ändern:
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 konfigurieren
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-Speicherverzeichnis erstellen
mkdir /var/run/www/chown -R www:www /var/run/www
php-fpm.conf konfigurieren
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
Das obige ist der detaillierte Inhalt vonKompilieren und installieren Sie php7.2 unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!