Maison > développement back-end > PHP7 > Comment installer php7 et installer l'extension memcache. Que dois-je faire s'il y a des problèmes de compatibilité entre l'ancienne et la nouvelle version de PHP ?

Comment installer php7 et installer l'extension memcache. Que dois-je faire s'il y a des problèmes de compatibilité entre l'ancienne et la nouvelle version de PHP ?

醉折花枝作酒筹
Libérer: 2023-02-18 07:26:01
avant
2565 Les gens l'ont consulté

Je ne sais pas si vous installerez php7, et je ne sais pas si vous traiterez les problèmes de compatibilité entre les anciennes et les nouvelles versions de php lors de l'installation de l'extension memcache. Aujourd'hui, je vais vous expliquer cela et vous pourrez vous y référer. si vous en avez besoin.

Comment installer php7 et installer l'extension memcache. Que dois-je faire s'il y a des problèmes de compatibilité entre l'ancienne et la nouvelle version de PHP ?

http://php.net/downloads.php

Installez php-7.0.0

Installez d'abord le programme dépendant Si vous l'avez déjà installé, veuillez l'ignorer

yum install -y php-mcrypt libmcrypt libmcrypt-devel
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
#openssl-devel是64位 如果是32位服务器请选择i386版的
yum install openssl-devel.x86_64
yum install curl curl-devel
yum -y install libxslt-devel
yum install -y php-mcrypt libmcrypt libmcrypt-devel mcrypt mhash
Copier après la connexion
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make &&  make install

可选
--with-fpm-user=www \
--with-fpm-group=www \
Copier après la connexion

Si vous y êtes invité, configurez : erreur. : mcrypt.h introuvable. Veuillez réinstaller libmcrypt.

Parce que la source yum par défaut du nom du fichier de sortie par défaut du compilateur C++… configurez : erreur : le compilateur C++

ne peut pas créer d'exécutables

wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
./configure
make && make install
Copier après la connexion

S'il demande une référence non définie à `libiconv. ', vous devez d'abord installer libiconv

yum list | grep c++
yum install gcc-c++.x86_64
Copier après la connexion

Si vous obtenez toujours une erreur, vim Makefile

Trouver EXTRA_LIBS =

Ajoutez -liconv à la fin

ou directement make ZEND_EXTRA_LIBS='-liconv'

Si vous réinstallez une ancienne version de php, vous devez recompiler le fichier LoadModule php5_module d'Apache

--with-iconv=/usr/local/libiconv
Copier après la connexion

À ce stade, l'installation de php7 est terminée

./configure --with-apxs2=/usr/local/sbin/apxs
Copier après la connexion

Activer le service php-fpm

mv /usr/local/src/php-7.1.0/php.ini-production /usr/local/php7/etc/php.ini
Copier après la connexion

Attention à changer l'utilisateur et le groupe de php-fpm. conf, sinon un fichier introuvable peut être signalé en raison de problèmes d'autorisation.

cd /usr/local/php7/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
Copier après la connexion

Exécutez php-fpm

user = nobody
group = nobody
Copier après la connexion

Si vous souhaitez utiliser cette commande, le service php-fpm start| stop|restart

/usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7/etc/php-fpm.conf
Copier après la connexion

Vous pouvez utiliser le service php-fpm commencez à activer php-fpm. Utilisez ps -ef | grep php-fpm pour vérifier le processus.

Mais quand j'installe l'extension memcache

http://pecl.php.net/package/memcache

Install memcache-2.2.7 2012 stable version

cd /usr/local/src/php-7.1.0/sapi/fpm
ls
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
Copier après la connexion

Une erreur fatale est signalée à ce moment /root/memcache - 2.2.7/memcache.c:40:40 : erreur fatale : ext/standard/php_smart_str.h : aucun fichier ou répertoire de ce type

Le fichier php_smart_str.h n'existe pas

La recherche Baidu php_smart_string.h est destinée à la dynamique de prétraitement des chaînes La demande d'espace mémoire est similaire à l'allocation de mémoire en unités de pages dans le système d'exploitation. Son avantage est d'aligner les adresses mémoire et d'améliorer la vitesse d'accès.

J'ai trouvé que php7 a changé ce fichier en php_smart_string.h En comparant les deux fichiers, les changements sont assez importants

Je ne sais pas si la compatibilité de l'équipe de développement PHP officielle n'a pas fait du bon travail en attendant une amélioration.

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!

Étiquettes associées:
source:csdn.net
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