我有 Ubuntu 15.10。
我正在尝试安装 php7.0
我执行了:
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0
Run Code Online (Sandbox Code Playgroud)
我得到:
E: Unable to locate package php7.0
E: Couldn't find any package by regex 'php7.0'
Run Code Online (Sandbox Code Playgroud)
有没有人看到我哪里出错了?
命令: sudo apt-get install php7.0
输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
php7.0 is already the newest version (7.0.8-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up libapache2-mod-php7.0 (7.0.8-0ubuntu0.16.04.1) ...
Error: The new file /usr/lib/php/7.0/php.ini-production does not exist!
dpkg: error processing package libapache2-mod-php7.0 (--configure): …Run Code Online (Sandbox Code Playgroud) 我有 Ubuntu 18 发行版,但我需要为 PECL 扩展安装 php7.2-dev。
mvolchkov@ias-su:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
Run Code Online (Sandbox Code Playgroud)
我尝试安装 php7.2-dev:
mvolchkov@ias-su:~$ sudo apt-get install php7.2-dev
Unresolved packages:
php7.2-dev : Depend on: libpcre3-dev (>= 2:8.35) but will not be installed
Depend on: libssl-dev but will not be installed
But it depends on: libpcre3-dev
Run Code Online (Sandbox Code Playgroud)
比我尝试安装 libpcre3-dev,但得到以下错误:
mvolchkov@ias-su:~$ sudo apt-get install libpcre3-dev
libpcre3-dev : Depend on: libpcre3 (= 2:8.39-9) ?? 2:8.41-4+ubuntu17.10.1+deb.sury.org+1 will be installed
E: …Run Code Online (Sandbox Code Playgroud) 我正在努力在 Ubuntu 18.10 中安装 cURL 模块。从 17.10 升级到 18.10 cURL 被移除/删除。现在当我尝试执行命令时
sudo apt-get install php7.2-curl
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
The following packages have unmet dependencies:
php7.2-curl :
Depends: libcurl4 (>= 7.44.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
sudo apt-get install curl
Run Code Online (Sandbox Code Playgroud)
给出错误
The following packages have unmet dependencies:
curl : Depends: libcurl4 (= 7.61.0-1ubuntu2.2) but it is not going to be installed
E: Unable to correct problems, you have held broken …Run Code Online (Sandbox Code Playgroud) 我通过这个命令添加了存储库:
LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
Run Code Online (Sandbox Code Playgroud)
警告:add-apt-repository 被非 UTF-8 语言环境破坏,请参阅 https://github.com/oerdnj/deb.sury.org/issues/56了解解决方法:
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php 更多信息:https://launchpad.net/~ondrej/+archive/ubuntu/php 按 [ENTER] 继续或 ctrl-c 取消添加 gpg:已创建密钥环`/tmp/tmph7kev8sf/secring.gpg' gpg:已创建密钥环`/tmp/tmph7kev8sf/pubring.gpg' gpg:从 hkp 服务器 keyserver.ubuntu.com 请求密钥 E5267A6C gpg:/tmp/tmph7kev8sf/trustdb.gpg:trustdb 创建 gpg:密钥 E5267A6C:导入的公钥“Launchpad PPA for Ond?ej Surý” gpg:处理的总数:1 gpg: 进口: 1 (RSA: 1) 好的
一切似乎都很好。然后我运行 apt-cache
apt-cache search php7
Run Code Online (Sandbox Code Playgroud)
这什么也没给。
这是我的系统信息:
~# uname -a Linux cspweb 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 语言环境 LANG=en_US.UTF-8 语言= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" …
我最近从 19.04 升级到 Ubuntu 19.10。当我尝试安装某个软件包时,它要求我通过 autoremove 删除许多软件包。所以我运行命令,它删除了 php7.2-fpm。
现在我无法安装 php7.2-fpm。
$ sudo apt-get install php7.2-fpm
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php7.2-fpm is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Run Code Online (Sandbox Code Playgroud)
我试图添加ondrej PPA。但它仍然无法正常工作。
请帮忙。
我的 netbeans 也停止工作。
更新
我现在可以通过安装 JDK13 来使用 netbeans。我还是被迫使用PHP7.3。我无法使用 PHP7.2。有人让我显示 sudo apt-get update 的输出。所以我把它贴在这里:
xxx@Ubuntu-PC:~$ sudo apt-get update
[sudo] password for xxx: …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 LEMP 堆栈,但每次登录时我的 phpmyadmin 都表现得很奇怪。登录后,我总是收到错误 404。
这是登录后的 URL(注意用户现在已登录):
http://localhost/index.php?token=c47a44d4fefaa8ef326d507c26fe9541&phpMyAdmin=207bvrfpmrj3r50769qpvjc6m2jrr2mq
Run Code Online (Sandbox Code Playgroud)
我收到错误 404。
当我输入 localhost/phpmyadmin 时,它现在可以正常工作了。
我按照此处的指示将服务器 API 条目切换为 FPM/FastCGI.from Server API Apache 2.0 Handler。当启用 mpm_event 且 a2dismod php7.4 时,phpinfo.php 仅显示:
<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)
阿帕奇状态:
Apache Server Status for localhost (via 127.0.0.1)
Server Version: Apache/2.4.46 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1f
Server MPM: event
Server Built: 2020-11-13T01:36:38
----------------------------------------------------------------------
Current Time: Saturday, 27-Feb-2021 13:08:50 EST
Restart Time: Saturday, 27-Feb-2021 13:05:50 EST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 3 minutes
Server load: 0.80 0.95 1.07
Total accesses: 14 - Total Traffic: 190 kB …Run Code Online (Sandbox Code Playgroud) 我有一个 PHP 工具,需要通过 SSH 访问我的一些服务器。这是一个仅供内部使用的应用程序,在与 Ubuntu 18.04 机器通信时它可以 100% 正常工作。
我开始将我的机器更新到 22.04,当我尝试使用 PHP 和 ssh2_connect() 打开 SSH 连接时,22.04 上的每台机器现在都会给出错误消息“无法交换加密密钥”。
当我在 CLI 中时,我能够使用安全密钥和用户进行 SSH,并尝试像 Web 服务器启动 ssh 一样进行访问。
sudo -u www-data ssh -i [path-to-private-key] [user]@[ip-address]
Run Code Online (Sandbox Code Playgroud)
我有一台运行 PHP 7.2 的服务器和一台运行 7.4 的服务器,两者都给出相同的错误,但仅在与 Ubuntu 22.04 机器对话时出现。
这是给我错误的命令:
$this->_CON = ssh2_connect($sshHost, $sshPort, [ 'hostkey' => 'ssh-dss,ssh-rsa' ]);
Run Code Online (Sandbox Code Playgroud)
这将建立连接,但当然不允许用户使用密钥:
$this->_CON = ssh2_connect($sshHost, $sshPort);
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
- - 更新 - -
好的,我刚刚将另一台服务器更新到 22.04,但 ssh2_connect 立即无法与该服务器通信。所以我确信这是 22.04 服务器的问题,而不是 php 服务器的问题。我只需要弄清楚哪个包发生了变化。也许某些配置文件导致密钥交换以不同的方式工作。
这仅通过 php ssh2_connect 进程发生。即使使用相同的密钥,也不会在命令行上直接使用 ssh 命令。