Maison > développement back-end > PHP7 > le corps du texte

Partager une note d'installation pour PHP7

藏色散人
Libérer: 2023-02-18 09:22:01
avant
2054 Les gens l'ont consulté

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 (<=>)

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

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

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

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&#39; 错误的解决方法
# 在装php时出现以下的错误:
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open&#39;
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined reference to `libiconv&#39;
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close&#39;
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close&#39;
# 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
Copier après la connexion

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

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

Résultat :

/usr/local/php7/bin/php -v
Copier après la connexion

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!

Étiquettes associées:
source:jb51.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
À 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!