Maison >développement back-end >PHP7 >Comment ajouter des extensions à miam php7.1

Comment ajouter des extensions à miam php7.1

藏色散人
藏色散人original
2021-12-31 09:22:582004parcourir

Comment ajouter des extensions à yum php7.1 : 1. Installez php7.1 via yum ; 2. Ajoutez des extensions PHP courantes via "yum -y install php-mysql php-gd php-ldap php-odbc..." commande.

Comment ajouter des extensions à miam php7.1

L'environnement d'exploitation de cet article : système centos7, version PHP7.1, ordinateur DELL G3

yum Comment ajouter des extensions à php7.1 ?

Tutoriel sur la façon de déployer php7.1 et activer les extensions MySQL sous CentOS 7

Avant-propos

Lorsque j'ai installé php7.1 sur CentOS7 auparavant, j'ai rencontré le problème que la source PHP et PHP7.1 ne prenaient pas en charge l'extension MySQL. J'ai pris le temps de l'installer dans le. matin et j'ai finalement résolu ces deux problèmes. J'enregistre par la présente le mémo.

Installation simple (méthode yum)

Installer la source du logiciel

Ajouter la source epel

[root@opstrip.com opt]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
[root@opstrip.com opt]# rpm -Uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm

Ajouter la source remi

[root@opstrip.com opt]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Installer et mettre à jour le logiciel

Installer l'utilitaire yum-config-manager

[root@opstrip.com opt]# yum -y install yum-utils

Mettre à jour la version actuelle du logiciel du system

[root@opstrip.com opt]# yum -y update

Une fois la mise à jour terminée, vous pouvez installer la version PHP requise.

Installer PHP

Une fois les préparatifs ci-dessus terminés, vous pouvez installer la version PHP requise.

Pour PHP5.4

[root@opstrip.com opt]# yum -y install php

Vous pouvez essayer yum search php54 pour rechercher des packages logiciels installables avant l'installation.

Pour PHP7.0

[root@opstrip.com opt]# yum-config-manager --enable remi-php70
[root@opstrip.com opt]# yum -y install php php-opcache

Vous pouvez essayer yum search php70 pour rechercher des packages logiciels installables avant l'installation.

Pour PHP7.1

[root@opstrip.com opt]# yum-config-manager --enable remi-php71
[root@opstrip.com opt]# yum -y install php php-opcache

Vous pouvez essayer yum search php71 pour rechercher des packages logiciels installables avant l'installation.

Une fois terminé, vous devez ajouter des extensions PHP courantes :

[root@opstrip.com opt]# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Pour Nginx

[root@opstrip.com opt]# yum -y install nginx nginx-mod-http-perl nginx-mod-stream nginx-filesystem nginx-mod-mail nginx-mod-http-image-filter nginx-all-modules nginx-mod-http-geoip nginx-mod-http-xslt-filter

Il est toujours recommandé d'essayer yum search nginx pour rechercher des packages logiciels installables avant l'installation.

Une fois l'installation terminée, configurez PHP et Nginx et démarrez-le pour tester la page phpinfo. Elle devrait s'afficher normalement à ce moment-là.

Compilation et installation du code source

Préparation avant l'installation

Téléchargez le package d'installation PHP

[root@opstrip.com opt]# wget -O php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz

Décompressez

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz

Installez les packages de dépendances

[root@opstrip.com php-7.1.5]# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

Configuration et installation

Compilez la configuration

[root@opstrip.com opt]# cd php-7.1.5
[root@opstrip.com php-7.1.5]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

Pour plus de détails, veuillez vous référer au PHP instructions d'installation officielles : http://php.net/manual/zh/install.unix.nginx.php

Compiler et installer

[root@opstrip.com php-7.1.5]# make && make install

Configurer les variables d'environnement :

Ajouter l'exportation PATH=$PATH:/usr/local/php / à la fin de /etc/profile bin, puis exécutez source /etc/profile pour vérifier la version de php une fois qu'elle prend effet :

[root@opstrip.com php-7.1.5]# php -v
PHP 7.1.5 (cli) (built: May 31 2017 16:12:38) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Configuration après l'installation

Configurez php-fpm

Une fois l'installation terminée, vous peut démarrer php-fpm via sapi/fpm/php-fpm.server . Cependant, pour faciliter la gestion future, il est généralement nécessaire de placer les fichiers de configuration dans le répertoire /etc et d'ajouter php-fpm.server au service systemctl. Comme suit :

[root@opstrip.com php-7.1.5]# mkdir -p /etc/php-fpm.d
[root@opstrip.com php-7.1.5]# cp php.ini-production /etc/php.ini
[root@opstrip.com php-7.1.5]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@opstrip.com php-7.1.5]# cp sapi/fpm/www.conf /etc/php-fpm.d/

Modifiez ensuite le fichier /usr/lib/systemd/system/php-fpm.service pour exécuter le chemin correct, comme suit :

[root@opstrip.com php-7.1.5]# vi /usr/lib/systemd/system/php-fpm.service
# It's not recommended to modify this file in-place, because it
# will be overwritten during upgrades. If you want to customize,
# the best way is to use the "systemctl edit" command.
 
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
 
[Service]
Type=simple
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

Démarrez php-fpm

Obligatoire lors du démarrage du service PHP via systemctl pour la première fois Activez d'abord le service php-fpm :

[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service
[root@opstrip.com php-7.1.5]# systemctl start php-fpm.service

Compilez et installez Nginx

Voir cet article pour plus de détails, puis configurez et démarrez Nginx si nécessaire. Je ne l'écrirai pas ici.

Activer l'extension MySQL (compiler et installer uniquement)

Depuis que PHP7 a complètement supprimé le support des extensions MySQL (remplacées par mysqli et mysqlnd), certains anciens logiciels signaleront un message similaire à la fonction mysql_connect() non définie après la mise à niveau de la version PHP. . erreur, il est généralement recommandé d'utiliser la nouvelle extension PHPmysqli ou pdo pour la remplacer. Bien sûr, vous pouvez également consulter la version héritée du code PHP7 qui prend en charge l'extension MySQL, la compiler et l'installer vous-même. Cependant, il convient de noter que l'extension MySQL n'a aucune mise à jour ultérieure.

Préparation avant l'installation

Afficher les extensions actuelles

Afficher les extensions intégrées PHP7.1 actuelles :

[root@opstrip.com php-7.1.5]# ls ext
bcmath  dom     gd   json  oci8   pdo_firebird posix   skeleton sysvsem  xmlwriter
bz2   enchant    gettext  ldap  odbc   pdo_mysql  pspell  snmp  sysvshm  xsl
calendar  exif    gmp   libxml  opcache  pdo_oci   readline  soap  tidy   zip
com_dotnet ext_skel   hash   mbstring openssl  pdo_odbc  recode  sockets  tokenizer zlib
ctype   ext_skel_win32.php iconv  mcrypt  pcntl  pdo_pgsql  reflection spl   wddx
curl   fileinfo   imap   mysql  pcre   pdo_sqlite  session  sqlite3  xml
date   filter    interbase mysqli  pdo   pgsql   shmop   standard xmlreader
dba   ftp     intl   mysqlnd  pdo_dblib phar   simplexml  sysvmsg  xmlrpc

Vous pouvez voir que l'extension MySQL a effectivement été supprimée. Nous pouvons directement consulter l'ancienne extension PHP MySQL dans. le code du répertoire externe.

Obtenez le code source de l'extension PHP MySQL

[root@opstrip.com ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive
Cloning into 'mysql'...
remote: Counting objects: 145, done.
remote: Total 145 (delta 0), reused 0 (delta 0), pack-reused 145
Receiving objects: 100% (145/145), 88.41 KiB | 0 bytes/s, done.
Resolving deltas: 100% (65/65), done.
Checking connectivity... done.

Compilez et installez l'extension MySQL

Utilisez phpize pour compiler

[root@opstrip.com ext]# cd mysql
[root@opstrip.com mysql]# ls
config.m4 config.w32 CREDITS LICENSE mysql.mak mysql_mysqlnd.h package.xml php_mysql.c php_mysql.h php_mysql_structs.h README.md tests
[root@opstrip.com mysql]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:   20151012
Zend Module Api No:  20151012
Zend Extension Api No: 320151012
[root@opstrip.com mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config

Installation

[root@opstrip.com mysql]# make && make install
[root@opstrip.com mysql]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
mysql.so opcache.a opcache.so

Une fois l'installation terminée, vous devez confirmer si l'extension MySQL est correctement installée.

Enfin modifiez le fichier de configuration php.ini et ajoutez une ligne :

extension = "mysql.so"

Redémarrez le service php-fpm et vous verrez l'extension MySQL dans phpinfo :

Comment ajouter des extensions à miam php7.1

–Cette configuration est terminée.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Déclaration:
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