Article ID: 118378, created on Sep 25, 2014, last review on Sep 25, 2014

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.5 for Linux

问题

在 Linux 系统上,您可以安装所需的任何 PHP 版本,然后通过 php_handler 命令行工具注册该 PHP 版本,便可以在 Parallels Plesk 里使用它。

原因

在 Parallels Plesk 或 Parallels Plesk Automation (PPA) 里未提供的 PHP 版本是需要的版本。

解决方案

  1. 在您的 Plesk 服务器或 Apache 服务节点上安装需要的 PHP 版本。要获取安装指南,请查阅 http://php.net/manual/en/install.php 上的官方 PHP 文件。简单地说,安装包括以下主要步骤:

    1. 以 root 身份通过 SSH 连接到您的 Plesk 服务器(或 Parallels Plesk Automation 的 Apache 服务节点),下载 PHP 源,解压缩后进行配置:

      # cd /usr/local/src
      # mkdir php540
      # cd php540
      # wget https://downloads.php.net/stas/php-5.4.0.tar.gz
      # tar xzvf php-5.4.0.tar.gz
      # cd php-5.4.0
      # ./configure '--with-libdir=lib64' '--cache-file=../config.cache' '--prefix=/usr/local/php540-cgi' '--with-config-file-path=/usr/local/php540-cgi/etc' '--disable-debug' '--with-pic' '--disable-rpath' '--enable-fastcgi' '--with-bz2' '--with-curl' '--with-freetype-dir=/usr/local/php540-cgi' '--with-png-dir=/usr/local/php540-cgi' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr/local/php540-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/php540-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/php540-cgi/pear' '--with-mcrypt' '--enable-intl' '--without-pdo-sqlite' '--with-config-file-scan-dir=/usr/local/php540-cgi/php.d'
      

      注意: 为了让新的 PHP 安装在单一目录里,您必须使用 PREFIX SWITCH 。正如您所见到的,这里的前缀是 /usr/local/php540-cgi/

      注意: 以上是您可能遇到的错误命令行参数示例,出现缺少包错误(例如 mysql-devel)。请参阅 文档 了解此默认参数

      选择前缀非常重要, 因为它可以防止新的 PHP 安装干扰在服务器上已有的其它 PHP 安装。

    2. 编译和安装 PHP:

      # make
      # make install
      
    3. 设置php.ini

      # cp php.ini-development /usr/local/php540-cgi/php.ini
      

      可以编辑 php.ini 文件来设置 PHP 选项。如果您想把 php.ini 放到另一个位置,请在步骤 1 使用选项--with-config-file-path=/some/path运行配置工具。

  2. 注册新的 PHP 版本:

    • 在 Parallels Plesk

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

      其中

      • -displayname <NN> 是将在 Plesk UI 上显示的 PHP 版本名称。我们建议您在 displayname 中包含版本号。例如,您可以提到版本 "5.3.3-custom"。

      • -path <path to php cgi> 是 PHP CGI 二进制文件的位置。您可以在这行 Installing PHP CGI binary 里 make install 命令的输出中找到这个位置。例如,如果您看到这行 Installing PHP CGI binary:/usr/local/bin/,您需要指定的位置是 /usr/local/bin/php-cgi。在 官方 PHP 网站 了解更多。

      • -phpini <path to php.ini>php.ini 文件的位置,例如,/some/path/php.ini

      • -type <php handler> 是与该版本相关的 PHP 处理程序类型。了解更多关于 PHP 处理程序,请参阅小节:PHP Handlers

      • 重要说明: 您可以设置 CGI 或 FastCGI PHP 处理程序。不支持 mod_php

      • -id <NN-custom> 是在引用该 PHP 版本时您将使用的标识符(例如,当调整或删除它时)。
    • 在 Parallels Plesk Automation

      登录 PPA 管理节点并运行以下命令:

       /usr/local/psa/bin/php_handler --add -displayname <NN> -path <path to php cgi on SN> -phpini <path to php.ini on SN> -type <php handler> -id <NN-custom> -service-node <ip_address>
      

      其中

      • -displayname <NN> 是将在 Plesk UI 上显示的 PHP 版本名称。我们建议您在 displayname 中包含版本号,例如,您可以提到版本 "5.3.3-custom"。

      • -path <path to php cgi on SN> 是在 Apache 服务节点上 PHP CGI 二进制文件的位置。您可以在这行 Installing PHP CGI binary 里 makeinstall 命令的输出中找到这个位置。例如,如果您看到这行 Installing PHP CGI binary:/usr/local/bin/,您需要指定的位置是 /usr/local/bin/php-cgi。请在 官方 PHP 网站了解更多。

      • -phpini <path to php.ini on SN>php.ini 文件的位置,例如,/some/path/php.ini 在 Apache 服务节点上。

      • -type <php handler> 是与该版本相关的 PHP 处理程序类型。了解更多关于 PHP 处理程序,请参阅小节 PHP Handlers

      • 重要说明: 您可以设置 CGI 或 FastCGI PHP 处理程序。不支持 mod_php

      • -id <NN-custom> (optional) 是您将使用的标识符用于引用该 PHP 版本(例如,在调整或删除它时)。

      • -service-node <ip_address> 是用于管理节点和 Apache 服务节点之间通信的专用 IP 地址。

      例如:

        [root@ppa ~] /usr/local/psa/bin/php_handler  --add -displayname php-5.4.0 -path /usr/local/bin/php-cgi -phpini /root/php540/php-5.4.0/php.ini -type FastCGI application -id 2 -service-node 192.168.0.1
      

您在 Plesk 注册了该 PHP 版本后,它将在服务方案设置和某个网站的主机设置中可供选择。请查看下图:

01bc4c8cf5b7f01f815a7ada004154a2 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e

Email subscription for changes to this article