Maison  >  Article  >  développement back-end  >  Partager une note d'installation pour PHP7

Partager une note d'installation pour PHP7

藏色散人
藏色散人avant
2021-12-07 16:38:452098parcourir

Le 11 juin 2015, le site officiel de PHP a annoncé que la version alpha de la première version de PHP7 avait été officiellement rendue publique.

Fonctionnalités de PHP7 :

PHP 7.0.0 Alpha 1 utilise la nouvelle version de ZendEngine. moteur, qui apporte de nombreuses nouvelles fonctionnalités Caractéristiques, ce qui suit est une liste incomplète :

(1) Amélioration des performances : PHP7 a deux fois plus d'amélioration des performances par rapport à PHP5.6. Performances améliorées : PHP 7 est jusqu'à deux fois plus rapide que PHP 5.6

(2) Prise en charge complète et cohérente du 64 bits. Prise en charge cohérente de 64 bits

(3) De nombreuses erreurs fatales précédentes sont désormais remplacées par des exceptions. De nombreuses erreurs fatales sont désormais des exceptions

(4) Suppression de certains anciens SAPI (Server Side Application Programming Port) et d'extensions qui ne sont plus prises en charge. La suppression des anciens SAPI et extensions non pris en charge

(5) ajoute un nouvel opérateur de jointure nulle. L'opérateur de coalescence nul (??)

(6) Un nouvel opérateur de comparaison combiné a été ajouté. Opérateur de comparaison combinée (96b4fef55684b9312718d5de63fb7121)

(7) Ajout de la déclaration du type de retour de fonction. Déclarations de type de retour

(8) Déclarations de type scalaire nouvellement ajoutées. Déclarations de type scalaire

(9) Classes anonymes nouvellement ajoutées. Classes anonymes

notes d'installation de php7 organisées

# Installez mcrypt

yum install -y php-mcrypt libmcrypt libmcrypt-devel

# Mettez à niveau bison

cd /var/soft/
wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz
tar -xvzf bison-2.6.4.tar.gz 
cd bison-2.6.4
./configure
make && make install

# Mettez à niveau re2c pour résoudre le problème Vous aurez besoin de re2c 0.13.4 ou version ultérieure si vous souhaitez régénérer PHP

parsers.Error

cd /var/soft/
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5
./configure
make && make install

Compile PHP7

# 创建目录
mkdir -p /var/soft/php7
cd /var/soft/php7
# 下载源代码
git clone http://git.php.net/repository/php-src.git
cd php-src
./buildconf
# 配置参数
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-mcrypt=/usr/include \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-fpm \
--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
#################################################################################
# 编译安装php时出现 /encodings.c:101: undefined reference to `libiconv_close' 错误的解决方法
# 在装php时出现以下的错误:
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined reference to `libiconv'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
# collect2: error: ld returned 1 exit status
# make: *** [sapi/cli/php] Error 1
# 根据php官网描述这是一个bug(https://bugs.php.net/bug.php?id=52611)。在configure以后要手动修改下Makefile文件,找到EXTRA_LIBS 在最后添加 -liconv 即可顺利通过
# (大约在Makefile文件的104)
# EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lmysqlclient -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl -lfreetype -lmysqlclient -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcrypt -liconv
#################################################################################
# 编译安装
make && sudo make install

# Configurer

cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
chmod +x /etc/init.d/php7-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

# Configurer opcache

r PHPrreee

# Vérifier la version

vim /usr/local/php7/etc/php.ini
# 加入
zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/opcache.so
# 启动
/etc/init.d/php7-fpm start

Résultat :

/usr/local/php7/bin/php -v

Etude recommandée :《Tutoriel PHP7

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:wamp comment ajouter php 7.2Article suivant:wamp comment ajouter php 7.2