为什么我无法在Ubuntu 16.04上安装PHP

3

我已经在Ubuntu 16.04上尝试安装Laravel 3天了。我按照Laravel安装过程的最高搜索链接进行操作,但是我无法成功执行任何一种方法。现在我在安装PHP时遇到了不同的问题。我曾经安装过MariaDB,但没有成功。但是可能已经破坏了某些东西,导致我无法安装PHP。我面临的问题是:

Reading package lists... Done 
Building dependency tree       
Reading state information... Done
php is already the newest version (1:7.2+62+ubuntu16.04.1+deb.sury.org+3).
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
mysql-server : Depends: mysql-server-5.7 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

当我尝试执行php -v时,出现了以下错误。
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20170718/mcrypt.so' (tried: /usr/lib/php/20170718/mcrypt.so (/usr/lib/php/20170718/mcrypt.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718//usr/lib/php/20170718/mcrypt.so.so (/usr/lib/php/20170718//usr/lib/php/20170718/mcrypt.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.2.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.9-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

我对Ubuntu和Laravel完全是新手。如果有人能指导我如何在Ubuntu 16.04上安装Laravel,我将非常感激。 谢谢。


看起来你尝试启用了mcrypt扩展。这是一个已经在PHP 7.2中被移除的旧且不安全的扩展。尝试运行 sudo phpdismod mcrypt 看看是否有效。 - M. Eriksson
现在,我该如何撤销这个过程并安装PHP。 - Rajesh Dey
您的计算机已经安装了最新版本的PHP。 - Manish Chauhan
好的.. :) 但是我该如何去除那个警告信息..?? - Rajesh Dey
你试过我的建议了吗? - M. Eriksson
很抱歉我没有看到你编辑过的代码。应用此代码后,出现了“WARNING: Module mcrypt ini file doesn't exist under /etc/php/7.2/mods-available”这个消息。 - Rajesh Dey
2个回答

2
  • 安装git apt-get install git-core
  • git clone https://github.com/thamaraiselvam/LEMP-Stack-Installer.git

  • cd quick-lemp-install 或 cd LEMP-Stack-Installer

  • chmod +x lemp.sh 这个命令使bash脚本可执行
  • ./lemp.sh 就这样 :)

PHP版本 - v7.0

Mysql版本 - 最新稳定版

注意:默认mysql密码是root。在运行脚本之前,您可以在以下行中更改它:

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password YOUR_PASSWORD'

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password YOUR_PASSWORD'

现在安装Laravel

  • 进入目录 cd /var/www/html/
  • sudo apt-get install php-common php-mbstring php-xml php-zip
  • composer create-project --prefer-dist laravel/laravel blog "5.5.*"

谢谢您的回答。当我执行 sudo apt-get install git-core 时,它给了我同样的错误 mysql-server : Depends: mysql-server-5.7 but it is not going to be installed,我又卡住了。:( - Rajesh Dey
尝试安装git clone lempstack,设置与php mysql相同的一切。 - Ragupathi
https://askubuntu.com/questions/378558/unable-to-locate-package-while-trying-to-install-packages-with-apt - Ragupathi
好的,现在没问题了,请尝试安装 apt-get install git-core,希望现在能够正常工作。 - Ragupathi
尝试执行 sudo apt-get install git-core - Ragupathi
显示剩余3条评论

1

尝试执行以下命令以解决您的问题:

  • 通过执行命令sudo dpkg -l | grep mysql获取系统上安装的MySQL软件包列表。

  • 通过执行命令sudo apt-get --purge autoremove <步骤1中的软件包>删除上述显示的软件包。

  • 删除/var/lib/mysql

  • 尝试重新安装mysql。 这应该可以解决您的问题。


我删除了文件夹,执行了 sudo apt-get purge 'php*' sudo apt-get remove --purge mysql* sudo apt-get purge mysql* 命令,但仍然出现错误信息 mysql-server : Depends: mysql-server-5.7 but it is not going to be installed.. :( - Rajesh Dey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接