我试图用ubuntu 12.04在vm上设置apache 2.4和php 5.5的测试环境,首先是添加存储库
apt-add-repository ppa:ptn107/apache
apt-add-repository ppa:ondrej/php5
然后安装apache 2.4
apt-get install apache2-mpm-worker
检查apache版本:
# apache2 -v
Server version: Apache/2.4.6 (Ubuntu)
Server built: Sep 23 2013 07:23:34
安装PHP 5.5
apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
检查php版本
php -v
PHP 5.5.8-3+sury.org~precise+1 (cli) (built: Jan 24 2014 10:15:11)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
所以似乎每件事都可以,我需要mod_fastcgi但是无法安装:
apt-get install libapache2-mod-fastcgi
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you haverequested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libapache2-mod-fastcgi : Depends: apache2.2-common (>= 2.2.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
因此,如果无法启用mod_fastcgi,我如何使用php-fpm运行php文件?我有什么遗失的吗?
答案 0 :(得分:10)
你可以从这里安装fastcgi mod和apache2,验证它可以在我的最后工作。 https://launchpad.net/~ondrej/+archive/apache2?field.series_filter=precise
答案 1 :(得分:1)
除了上面的suci和wedev的回答,如果你看到如下错误:
dpkg: error processing /var/cache/apt/archives/apache2- bin_2.4.16-4+deb.sury.org~precise+4_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man8/apache2.8.gz', which is also in package apache2.2-common 2.2.22-1ubuntu1.10
因为你做了一些愚蠢的事情(例如我试图在我使用的ubuntu图像提供的php2.3之上安装php5),你可以运行以下命令:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/apache2-bin_2.4.16-3+deb.sury.org~precise+1_amd64.deb
sudo dpkg -i --force-overwrite /var/cache/apt/archives/apache2-data_2.4.16-3+deb.sury.org~precise+1_all.deb
sudo dpkg -i --force-overwrite /var/cache/apt/archives/apache2_2.4.16-3+deb.sury.org~precise+1_amd64.deb
如此处所示:Reference来自user3703155
我相信它会指示包管理器踩踏有关apache2安装的任何破坏的依赖项。
随后运行
apt-get install -f
接着是
apt-get dist-upgrade
之后很高兴。
php -version
PHP 5.5.30-1+deb.sury.org~precise+1 (cli) (built: Oct 4 2015 16:14:34)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo