Maison > Article > développement back-end > Comment ajouter des extensions à miam php7.1
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.
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 :
–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!