如何安装另一个版本的 PhP?

如何安装另一个版本的 PhP?


我想在我的专用服务器上安装 WHMCS。(我已经安装了 apache2)由于 WHMCS 不支持 PhP 5.5,我该如何安装 PhP 5.4?

WHMCS 系统要求:http://docs.whmcs.com/System_Requirements

我使用 ubuntu 14.04 和 apache2

答案1

你可以试试https://github.com/CHH/phpenv

还有另一个版本管理器https://github.com/wilmoore/php-version,但我会尝试 phpenv,因为我正在使用 rbenv 并且它运行良好。

答案2

解决您遇到的问题的方法有很多种,您可以尝试以下方法:

方法 1::全新安装

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.5 | awk '{print $2}' | xargs`
sudo apt-get purge apache2 php5 libapache2-mod-php5
sudo sed -i.bak "s/trusty/precise/g" /etc/apt/sources.list
sudo apt-get update
sudo apt-get install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi
sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xdebug
sudo sed -i "s/precise/trusty/g" /etc/apt/sources.list
dpkg --get-selections | egrep '^(apache|php)' | sed 's/install/hold/g' | sudo dpkg --set-selections
sudo apt-get update
sudo apt-get install  mysql-client mysql-server phpmyadmin

这将安装以下软件包:

Apache fcgid PHP 5.4 MySQL PHPMyAdmin 和一些其他软件(包括流行的 PHP 扩展)


方法 2:: 多个 PHP 版本

此方法假设您已在服务器上安装了 Git(和 Nano)

1)安装依赖项(如果还没有安装):

sudo apt-get install build-essential git apache2-mpm-worker libapache2-mod-fastcgi php5-fpm

2)安装PHP依赖项:

sudo apt-get build-dep php5

3)下载PHP Farm:

sudo git clone https://github.com/cweiske/phpfarm.git /opt/phpfarm

4)导航目录:

cd /opt/phpfarm/src

5)编译 PHP 版本(您选择的版本):]

所有版本的完整列表可在此处查看:http://museum.php.net

笔记!完成后安装位置为 /opt/phpfarm/inst/bin。

PHP 5.4:sudo ./compile.sh 5.4.0 PHP 5.5:sudo ./compile.sh 5.5.0 PHP 5.6:sudo ./compile.sh 5.5.6

6)启用FAST-CGI

sudo a2enmod actions fastcgi alias

7)重新启动Apache

sudo service apache2 restart

8)创建FastCGIServer配置

sudo nano /etc/apache2/conf.d/php-cgisetup.conf

9)编辑FastCGIServer配置

您需要为使用 PHPFarm 创建的每个 PHP 版本设置一行,使用 (CTRL+O) 保存,使用 (CTRL+X) 关闭。

#php-cgi setup
#used for multiple php versions
FastCgiServer /var/www/cgi-bin/php-cgi-5.4.0
FastCgiServer /var/www/cgi-bin/php-cgi-5.5.0
FastCgiServer /var/www/cgi-bin/php-cgi-5.5.6
ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/

10)创建CGI-BIN

sudo mkdir /var/www/cgi-bin

11)创建 PHP-CGI 文件(针对特定 PHP 版本)

例如(针对 PHP 5.4):

sudo nano /var/www/cgi-bin/php-cgi-5.4.0

12)编辑 PHP-CGI 文件

#!/bin/sh 
PHP_FCGI_CHILDREN=3 
export PHP_FCGI_CHILDREN 
PHP_FCGI_MAX_REQUESTS=5000 
export PHP_FCGI_MAX_REQUESTS 
exec /opt/phpfarm/inst/bin/php-cgi-5.4.0

笔记:如果您希望编译其他版本的 PHP,则只需将步骤 11 和 12 中的“php-cgi-5.4.0”替换为 php-cgi-XXX”,其中 XXX 代表您之后的 PHP 版本

13)设置 CGI-BIN 所有者

sudo chown -R www-data:www-data /var/www/cgi-bin

14)设置 CGI-BIN 权限

sudo chmod -R 0744 /var/www/cgi-bin

15)导航至目录

cd /etc/apache2/sites-available

16)创建虚拟主机

sudo nano php-dev

17)编辑虚拟主机

<VirtualHost *:80>
ServerName **PHP 5.4 HOSTNAME GOES HERE**
DocumentRoot /var/www 
 <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.4.0
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 </VirtualHost>

 <VirtualHost *:80>
 ServerName **PHP 5.5 HOSTNAME GOES HERE**
 DocumentRoot /var/www
 <Directory />virtual host
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.5.0
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 </VirtualHost> 

<VirtualHost *:80>
 ServerName **PHP 5.6 HOSTNAME GOES HERE**
 DocumentRoot /var/www
 <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.5.6
 </Directory>
 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
 </VirtualHost> 

您必须根据您的需要进行此项配置。

18)禁用默认网站

sudo a2dissite default

19)启用新网站

sudo a2ensite php-dev

20)导航至 WWW 目录

cd /var/www

21)重新加载Apache

sudo service apache2 reload

22)删除旧索引

rm index.html

23)创建测试 PHP 页面

sudo nano index.php

24)编辑我们制作的测试页

<?php
phpinfo();
?>

25)获取您的服务器 IP 地址

如果您不知道如何操作,请使用以下命令:

ifconfig

26)打开 /etc/hosts 文件

sudo nano /etc/hosts

27)编辑Hosts文件

127.0.0.1 YOURWEBSITEURLFORPHP54.COM
127.0.0.1 YOURWEBSITEURLFORPHP55.COM
127.0.0.1 YOURWEBSITEURLFORPHP56.COM

就是这样,您现在可以保存它,并在需要时重新加载/重新启动 Apache,并测试运行在不同 php 版本上的新网站!

相关内容