我尝试使用以下命令在 ubuntu 16.04 中安装 php:
sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7
但它说
无法找到软件包libapache2-mod-php7
我应该跳过这个还是通过其他方式安装?
包的名称是libapache2-mod-php7.0
最后再试一次,.0
,它应该可以工作。
在 Ubuntu 18.04 上,我必须先添加下面的存储库。添加存储库后,我就可以安装 php7.x 项。
sudo add-apt-repository ppa:ondrej/php
来源: https://websiteforstudents.com/apache2-with-php-7-1-support-on-ubuntu-18-04-lts-beta-server/
如果您使用的是 Ubuntu 17.04/17.10 或更高版本,请使用 php7.1 而不是 7.0,因为它不再可用。
sudo apt-get install php7.1
在发布后时,Ubuntu 16.04 是较新的版本之一,因此软件包更改为 php7.0,但随着时间的推移,它将是 7.1 到 7.2 等...... 我没有时间弄清楚最新的软件包是什么,我不依赖于特定的版本。因此,如果您希望安装最新版本的软件包而不必知道正确的版本号,只需删除版本号,就会安装适用于您正在使用的发行版的最新版本。就我而言,我使用的是 Ubuntu 17.10,而 php 版本不同,所以我使用以下命令行来获取最新版本。
sudo apt-get install apache2 php-mysql libapache2-mod-php mysql-server
它安装了php 7.1和所有正确的依赖项。
因此,如果您不需要特定版本,而只是想要与发行版一起使用的最新版本,请删除版本号并使用上面的命令行。
很可能是本地包索引没有更新;试试
sudo apt-get update
,然后再次运行上一个命令。
顺便说一句,现在有一个程序apt
据说比apt-get
,apt-cache
等更用户友好(请参阅Ask Ubuntu上的此问题(。因此,您的命令可能已被替换为
sudo apt update
sudo apt install <the packages>
以获得稍微更好的用户界面。
可能这个问题更适合Ask Ubuntu社区。
只测试更高版本的php例如运行:
sudo apt-get install php7.4-mysql php7.4-curl php7.4-json php7.4-cgi php7.0 libapache2-mod-php7.4
Apache 服务器无法启动,因为未安装 libapache2-mod-php7.0:默认情况下,aptitude 或 apt 安装 php7.0-common 版本 7.8.13,这是不适应的,libapache2-mod-php 需要 7.0.8
- 删除 PHP 通用
- 下载 http://packages.ubuntu.com/xenial/php7.0-common deb软件包并安装它,如果它与php7.0-json,readline,cli,opache有关然后在上面的文本框中西奇关于这些库并以这种方式安装它们
- 杰森
- 奥帕奇
- 命令行界面
-
阅读线
-
安装 libapache2-mod-php7.0重新启动阿帕奇 2服务 Apache 2 重启
它必须工作可能祝你好运!
Ubuntu 16.04:
sudo apt-get update;
sudo apt-get install php7.0-fpm php7.0-mysql <other packages>;
对于 Ubuntu 14.04:
sudo apt-get update;
sudo apt-get install php5-mysql php5-mysql <other packages>;
它应该是:
sudo apt-get install libapache2-mod-php7.0
sudo apt-get install libapache2-mod-php7.1
为我工作(16.04Ubuntu(。
如果您收到错误,例如php7.2
php7.2-curl
libapache2-mod-php
没有可安装的候选或找不到任何包或依赖项php7.2-common
或libcurl3
这样做。Remeber 根据您的要求更改软件包名称
你必须以成熟的方式解决。安装能力 这些 ubuntu 包管理器将找到所有依赖项,并将逐个安装。
apt-get install aptitude
现在,您必须检查aptitude是否可以下载它,如果按照说明下载它
sudo aptitude install php7.2-curl
如果您遇到任何这样的错误
E: Unable to locate package php7.2-curl
E: Couldn't find any package by glob 'php7.2-curl'
任何类型的错误我不是在谈论正确的这些错误
尝试再次添加 php 包
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
现在试试这个命令
sudo aptitude install php7.2-curl
Aptitude 会询问您要保留所有依赖项的当前版本
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) php7.2-curl [Not Installed]
Accept this solution? [Y/n/q/?]
键入n
然后键入Enter
Aptitude 将找到所有依赖项,并要求您安装所有软件包类型
y
再
y
然后
systemctl restart apache2
对于 Centos 的 rhel
systemctl restart httpd
默认情况下,它不会启用 PHP 7.2 FPM。注意:要在 Apache2 中启用 PHP 7.2 FPM,请执行
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
此方法不仅适用于此错误,您还可以使用aptitude找到任何php apache2或ubuntu系统包解决方案。
Upvote if you find your solution
看起来我们需要安装与 php 版本相同的 libapache2-mod-php 版本。我让 php 7.4 安装 libapache2-mod-php7.4 解决了这个问题。谢谢