【问题标题】:The requested PHP extension ext-mysql * is missing from your system. in php 7.1.7您的系统中缺少请求的 PHP 扩展 ext-mysql *。在 php 7.1.7 中
【发布时间】:2020-05-20 23:56:54
【问题描述】:

我正在尝试在 heroku 上部署 php 应用程序。 我已将表添加到 clearDB 但停留在这部分: 添加后

"ext-mysql":"*" 

作曲家中的这一行。 json 它让我错误地说 错误:您的“composer.json”列出了“require”中的依赖项,但没有找到“composer.lock”。如有必要,请运行“composer update”以重新生成“composer.lock”,并将其提交到您的存储库中。

运行后

php composer.phar update

我收到此错误

The requested PHP extension ext-mysql * is missing from your system. Install or enable PHP's mysql extension.

【问题讨论】:

  • MySQL 扩展在 PHP 7 - php.net/manual/en/function.mysql-query.php 中被移除。请改用 MySQLi 或 PDO。
  • Heroku 正在直接部署 php 7,我如何指定不使用 7 而使用 php 5
  • 忘记旧的危险mysql和PHP5,使用PHP7和mysqli/pdo。
  • 如果您的应用确实需要旧的 mylsql_ API,那么您必须使用 PHP5.6 或更低版本,因为在 PHP 7.0 中删除了 mysql_ API,再也不会出现
  • 请阅读devcenter.heroku.com/articles/… 的文档,它概述了您必须做的每一步。蓝色框准确地描述了您的问题(如果您在本地没有扩展并且 composer update 失败该怎么办)。

标签: php mysql heroku composer-php


【解决方案1】:

我希望这会有所帮助

http://php.net/manual/en/mysql.php

PHP 5 用户可以在已弃用的 mysql 扩展、mysqli 或 PDO_MySQL 之间进行选择。 PHP 7 移除了 mysql 扩展,只留下后两个选项。

【讨论】:

  • 我有 sql dump 并且必须使用它
  • @Thesoham24 尝试使用 mysqli 或 PDO 存档。如果这是您的新项目,请编辑您的代码。由于 PHP 7 已删除 mysql,因此您无法使用它或将您的 PHP 版本降级到 PHP 5。为了快速编辑,您可以参考 github,有一个代码用于使用 GLOBAL 对象将mysql 转换为mysqli。 IMO 使用 PDO。这是最好的选择。
【解决方案2】:

你可以加--ignore-platform-reqs

完整代码:

php composer.phar update --ignore-platform-reqs

【讨论】:

    【解决方案3】:
    sudo apt-get install php7.2-fpm php7.2-cli php7.2-mysql php7.2-gd php7.2-imagick php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-common php7.2-curl php7.2-mbstring php7.2-xml php7.2-bcmath php7.2-bz2 php7.2-intl php7.2-json php7.2-readline php7.2-zip
    

    解决问题但我不知道为什么。

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 2016-06-20
      • 2017-12-07
      • 2017-12-10
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 2018-04-26
      • 2019-06-16
      相关资源
      最近更新 更多