Recommandé (gratuit) : PHP7
Télécharger
# wget http://php.net/get/php-7.0.2.tar.gz/from/a/mirror
Décompresser et installer
# tar zxvf php-7.0.2.tar.gz# cd php-7.0.2
Vérifiez d'abord l'aide à l'installation
# ./configure --help # ./configure --prefix=/usr/local/php \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-iconv-dir \ --with-kerberos \ --with-libdir=lib64 \ --with-libxml-dir \ --with-mysqli \ --with-openssl \ --with-pcre-regex \ --with-pdo-mysql \ --with-pdo-sqlite \ --with-pear \ --with-png-dir \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --enable-fpm \ --enable-bcmath \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-mbregex \ --enable-mbstring \ --enable-opcache \ --enable-pcntl \ --enable-shmop \ --enable-soap \ --enable-sockets \ --enable-sysvsem \ --enable-xml \ --enable-zip
Si la configuration est erronée, vous devez installer les modules requis, directement yum et installer les bibliothèques dépendantes ensemble
# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MySQL pcre-devel
Remarque : Installation Dans php7beta3, il y avait plusieurs configurations qui ne pouvaient pas être configurées, et il fallait les miam. Ce n'est plus le cas avec php-7.0.2.
# yum -y install curl-devel# yum -y install libxslt-devel
Compiler et installer
# make && make install
Fichier de configuration
# cp php.ini-development /usr/local/php/lib/php.ini# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
Il est à noter que le fichier de configuration www.conf en php7 configure le port du numéro phpfpm et d'autres informations, si vous modifiez le numéro de port 9000 par défaut, vous devez le modifier ici, puis modifier la configuration nginx
Démarrer
# /etc/init.d/php-fpm
Afficher phpinfo()
Comparaison de l'analyse des performances de php7 et php5
<?php //time /usr/local/php5/bin/php search_by_key.php $a = array(); for($i=0;$i<600000;$i++){ $a[$i] = $i; } foreach($a as $i) { array_key_exists($i, $a); } ?>
Générez un tableau de 600 000 éléments et déterminez si la clé existe en recherchant la clé.
PHP 5.4.44 版 [root@localhost www5.4.44]# time /usr/local/php5.4.44/bin/php search_by_key.phpreal 0m0.351s user 0m0.300s sys 0m0.050sPHP 5.5.28 版 [root@localhost www]# time /usr/local/php/bin/php search_by_key.phpreal 0m0.361s user 0m0.304s sys 0m0.057sPHP 7.0.0 版 [root@localhost www7]# time /usr/local/php7/bin/php search_by_key.phpreal 0m0.114s user 0m0.097s sys 0m0.017s
Évidemment, les performances de php7 sont 3 fois supérieures à celles de php5 !
Configurer opcache
Adresse du site officiel : http://php.net/opcache
Utilisez les paramètres recommandés suivants pour obtenir de meilleures performances :
opcache.memory_consumption=128opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000opcache.revalidate_freq=60opcache.fast_shutdown=1opcache.enable_cli=1
Vous pouvez également désactiveropcache.save_comments
et activez opcache.enable_file_override
. Il convient de rappeler que la configuration ci-dessus doit être rigoureusement testée avant d'être utilisée dans un environnement de production. En raison d'un problème connu avec la configuration ci-dessus, cela entraînera des exceptions dans certains frameworks et applications, en particulier lorsque des documents utilisent des annotations de commentaires.
vim /usr/local/php7/etc/php.ini# 加入zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/opcache.so
Redémarrer
# killall php-fpm# /etc/init.d/php-fpm
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!