GNU/Linux >> Linux の 問題 >  >> Debian

Debian 8JessieLinuxへの最新の最先端PHP7のインストール

はじめに

Debianの現在の安定したパッケージリポジトリには、常に最新のソフトウェアが含まれているとは限りません
私たちの期待。これには、最先端のソフトウェアを実行するためのトレードオフとしての安定したシステムなど、非常に正当な理由があります。

PHPサーバーサイドスクリプト言語も例外ではありません。
現在のDebianのPHPバージョンを書いている時点では、5.6.29です。 一方、最新のPHPソースリリースは7.1.0です。 (PHP 6がまったくない場合)

現在のPHP開発者の主張では、速度の点でPHP7はPHP5.6よりも優れています。PHP7は前モデルの2倍の速度であると想定されています。

新しいZendEngine3.0のおかげで、アプリはPHP 5.6よりも最大2倍高速なパフォーマンスと、50%優れたメモリ消費を実現し、ハードウェアを追加せずに、より多くの同時ユーザーにサービスを提供できます。
今日のワークロード向けに設計およびリファクタリングされたPHP7は、今日のWeb開発者にとって究極の選択肢です。

参照:zend.com/en/resources/php-7

目的

PHP5.6と最新のPHP7.1.0の速度を比較することは、この記事の目的ではありません。ただし、目的は、Debian8システムにインストールされている最新のPHP7リリースを入手することです。さらに、
PHP-FPM(FastCGI Process Manager)をインストールします。このガイドでは、2つの可能なインストールについて説明します。

まず、ガイドはcompile-php-debianを使用します github.com/linuxconfig/compile-php-debianで入手可能なスクリプト PHP 7のインストールを自動化するために、後でPHP7を手動でインストールする方法を示します。

要件

  • rootとしてまたはsudoを介したDebianLinuxシステムへの特権アクセス コマンドが必要です

難易度

ミディアム

規約

  • –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
  • $ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

手順

PHP5パッケージを削除する

システムにすでにPHP5がインストールされている場合は、新しいPHP7をインストールする前にそれらを削除する必要があります。すべてのphpを一覧表示するには システム上の関連パッケージ:

# dpkg -l | grep -E "^ii.*php" | cut -d " " -f3
libapache2-mod-php5
php5
php5-cli
php5-common
php5-json
php5-readline

次のLinuxコマンドは、上記のコマンド出力にリストされているすべてのパッケージを削除します。

# REMOVE=$(dpkg -l | grep -E "^ii.*php" | cut -d " " -f3)
# dpkg -P $REMOVE

スクリプトによる自動インストール

次のスクリプトによる自動インストールは、ユーザーが選択したPHP 7バージョンをコンパイルしてインストールするために必要なすべての手順を実行し、PHP-FPMデーモンもインストールします。 compile-php-debianのクローンを作成することから始めます スクリプト:

$ git clone https://github.com/linuxconfig/compile-php-debian.git

次に、compile-php-debianに移動します ディレクトリ:

$ cd compile-php-debian

次に、インストールするPHP 7のバージョンを決定し、選択したバージョン番号をinstall_php.shの引数として入力します。 脚本。たとえば、PHPバージョン7.0.8をインストールするには、次のように入力します。

# ./install_php.sh 7.0.8
FOR PHP VERSION 7.1.0 RUN
# ./install_php.sh 7.1.0 

インストールには時間がかかる場合があります。終了したら、serviceを実行してPHP-FPMDaemonを起動します。 コマンド:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

PHP-FPMデーモンは現在localhostをリッスンしています のポート番号9000cgi-fcgiを使用してPHP-FPMデーモンに直接接続することもできます。 libfcgi0ldbl内にあるコマンド パッケージ:

# cgi-fcgi -bind -connect 127.0.0.1:9000
X-Powered-By: PHP/7.1.0
Content-type: text/html; charset=UTF-8

これで、Debain8LinuxシステムへのPHP7のインストールが完了しました。

手動インストール

前提条件のインストール

最も一般的なPHPコンパイルオプションに適合するすべての前提条件のインストールから始めましょう:

# apt-get install autoconf bison build-essential git-core libbz2-dev libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev libreadline-dev libssl-dev 
libxml2-dev pkg-config

PHPソースコードのダウンロード

おそらく、PHPソースコードを取得してGitHub上のPHPのリポジトリのクローンを作成する最も簡単な方法です。次のLinuxコマンドを実行して、PHPソースディレクトリのクローンを作成します。

$ git clone https://github.com/php/php-src.git

git clone 操作が終了すると、新しいディレクトリ名php-srcが残ります。 。

もう1つの方法は、インストールしたい特定のPHPバージョンのtarballを、http://php.net/downloads.phpから直接ダウンロードして取得することです。 。この場合の利点は、最小のダウンロードサイズ要件です。ただし、
複数の展開に対して選択的に異なるバージョンを選択することはできません。

PHPソースコードのコンパイル

この段階で、PHPソースコードのコンパイルを実行する準備が整いました。以前にダウンロードしたphp-srcに移動します ディレクトリ:

$ cd php-src

次に、コンパイルしてインストールするPHPのバージョンを決定します。次のgitを実行します 利用可能なすべてのPHP7バージョンを一覧表示するコマンド:

$ git branch -a | grep PHP-7
  remotes/origin/PHP-7.0
  remotes/origin/PHP-7.0.0
  remotes/origin/PHP-7.0.1
  remotes/origin/PHP-7.0.10
  remotes/origin/PHP-7.0.11
  remotes/origin/PHP-7.0.12
  remotes/origin/PHP-7.0.13
  remotes/origin/PHP-7.0.14
  remotes/origin/PHP-7.0.2
  remotes/origin/PHP-7.0.3
  remotes/origin/PHP-7.0.4
  remotes/origin/PHP-7.0.5
  remotes/origin/PHP-7.0.6
  remotes/origin/PHP-7.0.7
  remotes/origin/PHP-7.0.8
  remotes/origin/PHP-7.0.9
  remotes/origin/PHP-7.1
  remotes/origin/PHP-7.1.0
  remotes/origin/PHP-7.1.0RC1
  remotes/origin/PHP-7.1.0RC2
  remotes/origin/PHP-7.1.0RC3
  remotes/origin/PHP-7.1.0beta1
  remotes/origin/PHP-7.1.0beta2
  remotes/origin/PHP-7.1.0beta3

git checkoutを使用する コンパイルに使用したい希望のPHPバージョンブランチに切り替えるコマンド。例:

$ git checkout PHP-7.1.0
Branch PHP-7.1.0 set up to track remote branch PHP-7.1.0 from origin.
Switched to a new branch 'PHP-7.1.0'

次に、インストールターゲットとして使用するディレクトリを作成します。この場合、/usr/local/php-7.1.0になります。 :

# mkdir /usr/local/php-7.1.0

すべてのコンパイル文字列を指定します。 --prefixに特に注意してください および--with-config-file-scan-dir インストールと構成の設定を定義する構成文字列。
以下は、最も一般的なPHPコンパイルオプションのリストです。

ニーズに合わせてリストを自由に更新してください。選択によっては、追加の
前提条件をインストールする必要がある場合があります。以下のテキストをコピーして端末に貼り付け、Enterキーを押します:

CONFIGURE_STRINGS="--enable-bcmath \
                   --enable-calendar \
                   --enable-dba \
                   --enable-exif \
                   --enable-filter \
                   --enable-fpm \
                   --enable-ftp \
                   --enable-gd-native-ttf \
                   --enable-intl \
                   --enable-mbstring \
                   --enable-mysqlnd \
                   --enable-pcntl \
                   --enable-shmop \
                   --enable-simplexml \
                   --enable-soap \
                   --enable-sockets \
                   --enable-sysvmsg \
                   --enable-sysvsem \
                   --enable-sysvshm \
                   --enable-wddx \
                   --enable-xmlreader \
                   --enable-xmlwriter \
                   --enable-zip \
                   --prefix=/usr/local/php-7.1.0 \
                   --with-bz2 \
                   --with-config-file-scan-dir=/usr/local/php-7.1.0/etc/conf.d \
                   --with-curl \
                   --with-fpm-group=www-data \
                   --with-fpm-user=www-data \
                   --with-freetype-dir \
                   --with-gd \
                   --with-gettext \
                   --with-jpeg-dir \
                   --with-mcrypt \
                   --with-mhash \
                   --with-mysqli=mysqlnd \
                   --with-mysql-sock=/var/run/mysqld/mysqld.sock \
                   --with-openssl \
                   --without-pear \
                   --with-pdo-mysql=mysqlnd \
                   --with-pdo-sqlite \
                   --with-png-dir \
                   --with-pspell \
                   --with-readline \
                   --with-sqlite3 \
                   --with-zlib"

上記はCONFIGURE_STRINGSを設定します すべてのPHPコンパイルオプションを含むシェル変数。次に、configureファイルとMakefileを作成する必要があります。これを実行するには:

$ ./buildconf --force
Forcing buildconf
Removing configure caches
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in

次に、コンパイル構成を実行します:

$ ./configure $CONFIGURE_STRINGS

上記のconfigureでエラーが発生しなかった場合 コマンドを実行し、makeを実行してコンパイルを実行します。 コマンド:

$ make
....
Build complete.
Don't forget to run 'make test'.

PHPソースコードが終了した場合のコンパイルが完了したら、オプションでmake testを実行します。 コマンドを実行するか、make installを実行します 以前にコンパイルされたすべてのバイナリを
関連するディレクトリにインストールするコマンド:

# make install
Installing shared extensions:     /usr/local/php-7.1.0/lib/php/extensions/no-debug-non-zts-20160303/
Installing PHP CLI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CLI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing PHP FPM binary:        /usr/local/php-7.1.0/sbin/
Installing PHP FPM config:        /usr/local/php-7.1.0/etc/
Installing PHP FPM man page:      /usr/local/php-7.1.0/php/man/man8/
Installing PHP FPM status page:   /usr/local/php-7.1.0/php/php/fpm/
Installing phpdbg binary:         /usr/local/php-7.1.0/bin/
Installing phpdbg man page:       /usr/local/php-7.1.0/php/man/man1/
Installing PHP CGI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CGI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing build environment:     /usr/local/php-7.1.0/lib/php/build/
Installing header files:           /usr/local/php-7.1.0/include/php/
Installing helper programs:       /usr/local/php-7.1.0/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php-7.1.0/php/man/man1/
  page: phpize.1
  page: php-config.1
/php-src/build/shtool install -c ext/phar/phar.phar /usr/local/php-7.1.0/bin
ln -s -f phar.phar /usr/local/php-7.1.0/bin/phar
Installing PDO headers:           /usr/local/php-7.1.0/include/php/ext/pdo/

全部終わった。 PHP7.1.0がインストールされました。実行を確認するには:

$ /usr/local/php-7.1.0/bin/php -v
PHP 7.1.0 (cli) (built: Jan  2 2017 09:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

FastCGIProcessManagerのインストール

このセクションでは、NginxやApacheなどのWebサーバーでインストールするためのフロントとして使用するPHP-FPMをインストールします。まず、新しくコンパイルされた
/usr/local/php-$version/sbin/php-fpmのシンボリックリンクを作成します インストールを整理するためのバイナリ:

# ln -s /usr/local/php-7.1.0/sbin/php-fpm /usr/local/php-7.1.0/sbin/php-7.1.0-fpm

まだphp-srcにあります ディレクトリで、デフォルトのphp.iniを設定します 構成:

# cp php.ini-production /usr/local/php-7.1.0/lib/php.ini

PHP-FPMデーモン構成ファイルを有効にします:

# mv /usr/local/php-7.1.0/etc/php-fpm.d/www.conf.default /usr/local/php-7.1.0/etc/php-fpm.d/www.conf

テキストエディタを使用して、新しい/usr/local/php-7.1.0/etc/php-fpm.confを作成します 次の内容の構成ファイル:

[global]
pid = /var/run/php7-fpm.pid
error_log = /var/log/php7-fpm.log
include=/usr/local/php-7.1.0/etc/php-fpm.d/*.conf

追加のPHPモジュールを有効にする

有効にするモジュールディレクティブをphp.iniに挿入します 設定ファイル。たとえば、ZendのOpCache PHPモジュールの実行を有効にするには:

# echo "zend_extension=opcache.so" >> /usr/local/php-7.1.0/lib/php.ini

PHP7-FPMinit.dスクリプトを構成する

まず、次の変更されたphp7-fpm.initを挿入します スクリプトを /etc/init.d/に挿入します ディレクトリ:

# wget -qO /etc/init.d/php7-fpm https://linuxconfig.org/images/php7-fpm.init

7.1.0以外の異なるバージョンのPHPをインストールした場合 テキストエディタを使用して、インストールされているPHP VERSIONに合うように次のスクリプト変数を変更します。 :

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/php-VERSION/sbin
NAME=php-VERSION-fpm
DAEMON=/usr/local/php-VERSION/sbin/$NAME
CONFFILE=/usr/local/php-VERSION/etc/php-fpm.conf

最後に、/etc/init.d/php7-fpmを作成します 実行可能ファイルでudpate-rc.dを実行します コマンド:

# chmod +x /etc/init.d/php7-fpm
# update-rc.d php7-fpm defaults

PHP-FPMデーモンを起動する

これで、serviceを実行することで、PHP-FPMDaemonを簡単に起動できるようになります。 コマンド:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

PHP-FPMデーモンは現在localhostをリッスンしています のポート番号9000


Debian
  1. DebianLinuxにPHPComposerをインストールする方法

  2. Debian8およびUbuntu16.04Linuxに最新のEclipseJavaIDEをインストールします

  3. Debian 9StretchLinuxに最新のEclipseJavaIDEをインストールする方法

  1. Debian 9StretchLinuxに最新のMesaバージョンをインストールする方法

  2. DebianJessieのGnome3に最新のFirefoxを統合する方法

  3. PHP7.1をGNU/Linux Debian 8.7(jessie)サーバーにインストールするにはどうすればよいですか?

  1. Debian Jessie 8Linux64ビットへのSteamクライアントのインストール

  2. Debian 8JessieLinuxへのFirefoxWebブラウザの簡単なインストール

  3. Debian 9StretchLinuxに最新のNVIDIAドライバーをインストールする方法