Compilez et installez php7.2 sur CentOS

不言
Libérer: 2023-03-29 15:04:01
original
1635 Les gens l'ont consulté

Cet article présente principalement la compilation et l'installation de php7.2 sur CentOS. Il a maintenant une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

.

Introduction :

J'entends depuis longtemps que la vitesse et les performances de php7 sont plus rapides que n'importe quelle version de la série php5. Quelle est la qualité des performances spécifiques. ? Il est recommandé de l'essayer d'abord. Si vous effectuez une mise à niveau ou en installez un nouveau, vous devez d'abord déterminer s'il existe une compatibilité entre php7 et le programme. Si le programme est développé sur la base de php5, vous devez alors déterminer si php7 est adapté à votre environnement de production actuel. Je vais le faire et l'installer en production.

Installez d'abord le package de dépendances php, sinon diverses erreurs apparaîtront pendant le processus de compilation et d'installation de php7. Une fois l'installation terminée, vous pouvez passer à l'étape suivante.

Installez le package d'extension et mettez à jour le noyau système :

yum install epel-release -yyum update
Copier après la connexion

Installez les composants dépendants de PHP (y compris les dépendances 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
Copier après la connexion

Créez des utilisateurs et des groupes, puis téléchargez et décompressez le package d'installation de 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
Copier après la connexion

Définissez les variables et démarrez la compilation du code source :

cp -frp /usr/lib64/libldap* /usr/lib/
Copier après la connexion
./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
Copier après la connexion

Si aucune erreur n'est signalée, passez à l'étape suivante de l'installation. Si une erreur se produit pendant le processus de compilation, installez le package dépendant conformément au rapport d'erreur. Ce problème ne se produit généralement pas. .

Remarque : –enable-gd-jis-conv Ce paramètre entraînera une déformation des caractères chinois Zabbix. Il est recommandé de l'annuler.

Démarrez l'installation :

make -j 4 && make install
Copier après la connexion

Configurez le fichier php.ini après avoir terminé l'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
Copier après la connexion

Modifier les paramètres liés à php.ini :

vim /usr/local/php/etc/php.ini
Copier après la connexion
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
Copier après la connexion

Configurer 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
Copier après la connexion

Créer php -cgi.Répertoire de stockage des chaussettes

mkdir /var/run/www/chown -R www:www /var/run/www
Copier après la connexion

Configurer php-fpm.conf

vim /usr/local/php/etc/php-fpm.conf
Copier après la connexion

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

pid = /usr/local/php/var/run/php-fpm.pid
Copier après la connexion

至此php7已经安装完成。

说明:禁用php函数,如果程序需要这些函数,可以取消禁止,新手建议忽略此步骤。

创建system系统单元文件php-fpm启动脚本:

vim /usr/lib/systemd/system/php-fpm.service
Copier après la connexion

添加如下变量内容:

[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
Copier après la connexion

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

systemctl enable php-fpm.service
systemctl restart php-fpm.service
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!