Plesk for Linux で複数の PHP バージョンを有効にするには

  • Plesk 12.5 for Linux
  • Plesk 11.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 12.5 for Windows

2016-11-16 12:44:50 UTC

2017-02-10 22:56:15 UTC

1


リクエストを送信

Plesk for Linux で複数の PHP バージョンを有効にするには

症状

Linux システムで、いずれかの必要な PHP バージョンをインストールして Plesk で使用可能にするには、 php_handler コマンドラインユーティリティを使用して登録を行います。

原因

Plesk で提供されていない PHP バージョンを使用する必要があります。

解決策

CloudLinux の場合:

CloudLinux を使用している場合、CloudLinux PHP セレクタ機能を使用できます。

http://docs.cloudlinux.com/index.html?php_selector.html

Plesk 12 および Pleks 12.5 の場合:

Plesk 12.0.18 MU#41 以降では、Plesk チームが作成した複数の PHP 5.x バージョンを Plesk パネル経由でインストールし、使用することができます。 詳しくは、 KB 記事 213949705(Plesk 12.0 以降で複数の PHP バージョンを使用する) を参照してください。

Plesk 12 用 PHP パッケージ:

  • CentOS 6
  • CentOS 7
  • Ubuntu 12

Plesk 12.5 用 PHP パッケージ:

  • CentOS 6
  • CentOS 7
  • RHEL 6
  • RHEL 7
  • Debian 7
  • Debian 8
  • Ubuntu 12
  • Ubuntu 14

Plesk 11.5 の場合:

手順 1. 必要な PHP バージョンを Plesk サーバにインストールします。

インストールのガイドラインについては、 http://php.net/manual/en/install.php を参照してください。

    注:ターゲットサーバと同じ OS バージョンを使用する別の(非本番)環境で PHP を構築することをお勧めします。これにより、実稼働システムに不要なパッケージを大量にインストールすることを防ぐことができます。下の例では、PHP 5.6.3 を使用していますが、この手順で、すべての PHP バージョンをインストール可能です。

インストールの大まかな手順は、次のとおりです。

  1. PHP コンパイルに root として使用されるコンピュータに SSH アクセスします。

  2. PHP ソースをダウンロードします。

    # cd /usr/local/src/
    # wget http://php.net/get/php-5.6.3.tar.bz2/from/this/mirror --output-document="php-5.6.3.tar.bz2"
  3. PHP 配布ファイルが正常にダウンロードされたことを確認します。

    # ls -la
    total 13156
    drwxr-xr-x 2 root root 4096 Nov 29 08:39 .
    drwxr-xr-x 15 root root 4096 Nov 29 08:39 ..
    -rw-r--r-- 1 root root 13461539 Nov 14 06:41 php-5.6.3.tar.bz2
  4. アーカイブを展開します。

    # tar xjvf php-5.6.3.tar.bz2
    # mv php-5.6.3 php563
  5. 必要なライブラリをインストールします。

    CentOS 6.x の場合:

    # yum install libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel mysql-devel ncurses-devel unixODBC-devel net-snmp-devel mhash-devel libc-client-devel libicu-devel gcc postgresql-devel aspell-devel libxslt-devel gcc-c++ openldap-devel

    Debian 6 Squeeze の場合:

    #apt-get install libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libgmp3-dev libc-client-dev libicu-dev libsasl2-dev unixodbc-dev libpspell-dev libsnmp-dev libxslt-dev
  6. 追加のライブラリをインストールします。

    これは PHP のコンパイルに使用したシステムに依存します。 構成 の手順で、確認することができます。

  7. 構成します。

    # cd /usr/local/src/php563
    # ./configure '--with-libdir=lib64' '--cache-file=../config.cache' '--prefix=/usr/local/php563-cgi' '--with-config-file-path=/usr/local/php563-cgi/etc' '--disable-debug' '--with-pic' '--disable-rpath' '--with-bz2' '--with-curl' '--with-freetype-dir=/usr/local/php563-cgi' '--with-png-dir=/usr/local/php563-cgi' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr/local/php563-cgi' '--with-openssl' '--with-pspell' '--with-pcre-regex' '--with-zlib' '--enable-exif' '--enable-ftp' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--with-kerberos' '--with-unixODBC=/usr' '--enable-shmop' '--enable-calendar' '--without-sqlite3' '--with-libxml-dir=/usr/local/php563-cgi' '--enable-pcntl' '--with-imap' '--with-imap-ssl' '--enable-mbstring' '--enable-mbregex' '--with-gd' '--enable-bcmath' '--with-xmlrpc' '--with-ldap' '--with-ldap-sasl' '--with-mysql=/usr' '--with-mysqli' '--with-snmp' '--enable-soap' '--with-xsl' '--enable-xmlreader' '--enable-xmlwriter' '--enable-pdo' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-pear=/usr/local/php563-cgi/pear' '--enable-intl' '--without-pdo-sqlite' '--with-config-file-scan-dir=/usr/local/php563-cgi/php.d' '--enable-cgi'

    注: 新しい PHP を単一のディレクトリ内にインストールするためには、 プレフィックススイッチを使用する必要があります 。例えば、ここでのプレフィックスは /usr/local/php563-cgi/ です。

    新しくインストールした PHP がサーバにインストールされた別の PHP と干渉しないようにするために、プレフィックスの選択は 非常に重要 です。

  8. 構成が完了したら、PHP をコンパイルします。

    # cd /usr/local/src/php563
    # make
  9. (※本番環境に PHP を構築している場合、この手順はスキップしてください。]) コンパイルした PHP をアーカイブし、Plesk サーバに転送します。

    コンパイルされた PHP が格納される Plesk サーバのディレクトリへのフルパスは、ソースサーバと同じでなければなりません。

    # cd /usr/local/src/
    # tar cjvf php563.tar.bz2 php563
    # scp php563.tar.bz2 root@<your_plesk_server_ip>:/usr/local/src
  10. Plesk サーバに SSH 接続し、コンパイルした PHP が含まれるアーカイブファイルを展開します。

    # cd /usr/local/src
    # tar xjvf php563.tar.bz2
  11. Plesk サーバで PHP をインストールします。

    # cd /usr/local/src/php563
    # make install
  12. php.ini をセットアップします。

    # cp php.ini-development /usr/local/php563-cgi/etc/php.ini

    php.ini ファイルを編集して PHP オプションを設定することができます。' php.ini ' を別の場所に配置するには、 構成 ステップでオプション --with-config-file-path=/some/path を指定して構成ユーティリティを実行します。

  13. SELinux コンテキストを復元します。

    # restorecon -R /usr/local/php563-cgi

手順 2. Plesk に新しい PHP バージョンを登録します。

/usr/local/psa/bin/php_handler --add -displayname <NN> -path <path to php cgi> -clipath <path to php-cli> -phpini <path to php.ini> -type <php handler> -id <NN-custom>

ここで、

  • -displayname <NN> は、Plesk インターフェースに表示される PHP バージョン名です。表示名にバージョン番号を含めることをお勧めします。例えば、バージョン "5.6.3-custom" と命名します。

  • -path <path/to/php/cgi> は、PHP CGI バイナリファイルの保存場所です。この情報は、make install コマンドの出力結果の Installing PHP CGI binary 行にあります。例えば、「Installing PHP CGI binary: /usr/local/php563-cgi/bin/ 」という行がある場合、指定すべき場所は /usr/local/php563-cgi/bin/php-cgi です。詳しくは、 PHP の公式ウェブサイト を参照してください。

  • -clipath <path to php-cli> は、 php ファイルの保存場所です(例: /usr/local/php563-cgi/bin/php )。

  • -phpini <path/to/php.ini> は、 php.ini ファイルの保存場所です(例: /usr/local/php563-cgi/etc/php.ini )。

  • -type <php handler> は、このバージョンに紐付けられた PHP ハンドラのタイプであり、 'cgi' または 'fastcgi' です。

  • -id <NN-custom> は、この PHP バージョンを調整・削除する時などに使用する参照用の ID です。

例:

# /usr/local/psa/bin/php_handler --add -displayname php-5.6.3 -path /usr/local/php563-cgi/bin/php-cgi -clipath /usr/local/php563-cgi/bin/php -phpini /usr/local/php563-cgi/etc/php.ini -type fastcgi -id 2

PHP バージョンを Plesk に登録すると、特定のウェブサイトの [Websites]>[Hosting Settings] で選択可能になります。以下の画像を参照してください。

登録された PHP ハンドラのリストを表示するには:

Plesk サーバに登録された PHP ハンドラのリストを参照するには、以下のコマンドを実行します。

# /usr/local/psa/bin/php_handler --list
他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。