Linux 環境での PHP7.0 インストールの概要
PHP7 と HHVM の比較
実際のシナリオにおける PHP7 のパフォーマンスは HHVM のパフォーマンスと同等であり、シナリオによっては HHVM を上回ることもあります。 HHVM の運用と保守は複雑で、マルチスレッド モデルであるため、スレッドがクラッシュを引き起こすとサービス全体がハングし、自動的に再起動されなくなります。また、JIT を採用しているため、再起動後にウォームアップが必要となり、予熱を行わないとパフォーマンスが低下します。また、マルチスレッドモデルはデバッグが難しく、安定性を追求するWebサービスには非常に不向きです。
Nginx および PHP7.0 より前のバージョンについては、こちらの記事を参照してください: Linux 環境 Nginx のインストールとデバッグと PHP のインストール
PHP7.0 の正式版は、2015 年 11 月頃にリリースされました。現在のバージョンは PHP7.0.2 ですが、私は 2015 年 8 月に最初の php7 のベータ版をフォローし始め、現在は正式版がリリースされています。
linux バージョン: 64 ビット CentOS 6.6
Nginx バージョン: nginx1.8.0
php バージョン: php-7.0.2
推奨(無料): PHP7
##ダウンロードwget http://php.net/get/php-7.0.2.tar.gz/ from/a/mirror
インストール前にインストール ヘルプ ファイルを読むことをお勧めします。INSTALLインストールファイルを解凍しますtar zxvf php-7.0。 2.tar .gz
cd php-7.0.2
最初にインストール ヘルプを確認します./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 構成が間違っています。必要なモジュールをインストールする必要があります。yum
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel# を使用して依存ライブラリを直接インストールします。 # #注意: php7beta3 のインストール時に設定できない設定がいくつかあります。yum する必要があります。これは php-7.0.2 では当てはまりません。
yum -y installcurl-develyum -y install libxslt-devel
コンパイルしてインストール
make && make install
設定ファイル
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
www であることに注意してください。 php7 の .conf 設定ファイルは、phpfpm のポート番号とその他の情報を設定します。デフォルトの 9000 ポート番号を変更する場合は、ここで変更してから、nginx 設定を変更する必要があります
StartView phpinfo()
php7 と php5 のパフォーマンス分析の比較
600,000 要素の配列を生成し、キーは、存在するキーを検索することによって取得されます。
PHP バージョン 5.4.44
[root@localhost www5.4.44]# time /usr/local/php5.4.44/bin/php search_by_key.php
real 0m0.351s
sys 0m0.050s
PHP バージョン 5.5.28
実数 0m0.361s
ユーザー 0m0.304s
sys 0m0.057s
PHP バージョン 7.0.0
real 0m0.114s
user 0m0.097s
sys 0m0.017s
明らかに、php7 のパフォーマンスは php5 の 3 倍です。
opcache の構成
公式 Web サイトのアドレス: http://php.net/opcacheパフォーマンスを向上させるには、次の推奨設定を使用します。
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments を無効にして、opcache.enable_file_override を有効にすることもできます。上記の構成は、運用環境で使用する前に厳密にテストする必要があることに注意してください。上記の構成には既知の問題があるため、特にコメント注釈を使用するドキュメントがある場合、一部のフレームワークやアプリケーションで例外が発生します。
vim /usr/local/php7/etc/php.ini
Join
zend_extension=/usr/local/php7/lib/php /extensions/no-debug-non-zts-20141001/opcache.so
restart
killall php-fpm
/etc /init.d/php-fpm
Opcache ステータス テスト コード (https://gist.github.com/ck-on/4959032)デモを行う:
<?php /* OCP - Opcache Control Panel (aka Zend Optimizer+ Control Panel for PHP) Author: _ck_ (with contributions by GK, stasilok) Version: 0.1.6 Free for any kind of use or modification, I am not responsible for anything, please share your improvements * revision history 0.1.6 2013-04-12 moved meta to footer so graphs can be higher and reduce clutter 0.1.5 2013-04-12 added graphs to visualize cache state, please report any browser/style bugs 0.1.4 2013-04-09 added "recheck" to update files when using large revalidate_freq (or validate_timestamps=Off) 0.1.3 2013-03-30 show host and php version, can bookmark with hashtag ie. #statistics - needs new layout asap 0.1.2 2013-03-25 show optimization levels, number formatting, support for start_time in 7.0.2 0.1.1 2013-03-18 today Zend completely renamed Optimizer+ to OPcache, adjusted OCP to keep working 0.1.0 2013-03-17 added group/sort indicators, replaced "accelerator_" functions with "opcache_" 0.0.6 2013-03-16 transition support as Zend renames product and functions for PHP 5.5 (stasilok) 0.0.5 2013-03-10 added refresh button (GK) 0.0.4 2013-02-18 added file grouping and sorting (click on headers) - code needs cleanup but gets the job done 0.0.2 2013-02-14 first public release * known problems/limitations: Unlike APC, the Zend OPcache API - cannot determine when a file was put into the cache - cannot change settings on the fly - cannot protect opcache functions by restricting execution to only specific scripts/paths * todo: Extract variables for prefered ordering and better layout instead of just dumping into tables File list filter */ // ini_set('display_errors',1); error_reporting(-1); if ( count(get_included_files())>1 || php_sapi_name()=='cli' || empty($_SERVER['REMOTE_ADDR']) ) { die; } // weak block against indirect access $time=time(); define('CACHEPREFIX',function_exists('opcache_reset')?'opcache_':(function_exists('accelerator_reset')?'accelerator_':'')); if ( !empty($_GET['RESET']) ) { if ( function_exists(CACHEPREFIX.'reset') ) { call_user_func(CACHEPREFIX.'reset'); } header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) ); exit; } if ( !empty($_GET['RECHECK']) ) { if ( function_exists(CACHEPREFIX.'invalidate') ) { $recheck=trim($_GET['RECHECK']); $files=call_user_func(CACHEPREFIX.'get_status'); if (!empty($files['scripts'])) { foreach ($files['scripts'] as $file=>$value) { if ( $recheck==='1' || strpos($file,$recheck)===0 ) call_user_func(CACHEPREFIX.'invalidate',$file); } } header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) ); } else { echo 'Sorry, this feature requires Zend Opcache newer than April 8th 2013'; } exit; } ?>nbsp;html>
<p> </p><h1 id="a-Opcache-Control-Panel-a"><a>Opcache Control Panel</a></h1> <p> <a>Details</a> <a>Files</a> <a>Reset</a> <?php if ( function_exists(CACHEPREFIX.'invalidate') ) { ?> <a>Recheck</a> <?php } ?> <a>Refresh</a> </p> <?php if ( !function_exists(CACHEPREFIX.'get_status') ) { echo '<h2>Opcache not detected?'; die; } if ( !empty($_GET['FILES']) ) { echo '<h2 id="files-cached">files cached</h2>'; files_display(); echo '
以上がLinux 環境での PHP7.0 インストールの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

よくある質問とCentosインタビューへの回答には次のものがあります。1。YumまたはDNFコマンドを使用して、SudoyuminInstallnginxなどのソフトウェアパッケージをインストールします。 2。sudouseradd-m-s/bin/bashnewuserなどのuseraddおよびgroupAddコマンドを介してユーザーとグループを管理します。 3. firewalldを使用して、sudofirewall-cmd - permanent-add-service = httpなどのファイアウォールを構成します。 4. sudoyuninstallyum-cronなどのyum-cronを使用する自動更新を設定し、Apply_updates = yesを構成します。

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxの初心者は、ファイル管理、ユーザー管理、ネットワーク構成などの基本操作をマスターする必要があります。 1)文件管理:使用mkdir、タッチ、ls rm 3)ネットワーク構成:ifconfig、echo、およびufwコマンドを使用します。これらの操作はLinuxシステム管理の基礎であり、それらをマスターすることでシステムを効果的に管理できます。

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

Linuxシステムの5つの柱は次のとおりです。1。Kernel、2。SystemLibrary、3。Shell、4。FileSystem、5。SystemTools。カーネルはハードウェアリソースを管理し、基本的なサービスを提供します。システムライブラリは、アプリケーション用の事前コンパイルされた機能を提供します。シェルは、ユーザーがシステムと対話するインターフェイスです。ファイルシステムはデータを整理して保存します。また、システムツールはシステム管理とメンテナンスに使用されます。

さまざまなオペレーティングシステムでRedisサービスを再起動する方法:Linux/MacOS:SystemCTLコマンド(SystemCTL RestArt Redis-Server)またはServiceコマンド(Service Redis-Server Restart)を使用します。 Windows:services.mscツール([実行]ダイアログボックスに「serversis.msc」を入力してEnterを押します)を使用し、「redis」サービスを右クリックして[再起動]を選択します。
