【问题标题】:Can't get Composer to work on Windows无法让 Composer 在 Windows 上工作
【发布时间】:2018-03-25 08:35:26
【问题描述】:

我尝试在我的 PHP 脚本中使用 https://github.com/phpWhois/phpWhois,但无法正常工作。在使用 Composer 时,我绝对是初学者。

这是我尝试过的:

  • 在本地克隆了 git 存储库
  • 已安装 Composer for Windows
  • 在 Powershell 中,导航到本地存储库
  • 输入composer require。作曲家首先问我:Search for a package:,我只是按了ENTER。然后,Composer 在 vendor 目录下安装了各种包(phpunit、symfony、sebastian 等),并创建了一个autoload.php 文件。

但如果我在示例脚本(phpWhois Github 主页上的基本示例)中包含 autoload.php,则会生成以下错误:

致命错误:在第 12 行的 /home/myServer/www/myApp/api/whoistest.php 中找不到类 'phpWhois\Whois'

好吧,Github 页面上的安装手册说我应该运行

php composer.phar require "phpwhois/phpwhois":"~4.0"

所以我在 Powershell 控制台中尝试了以下操作:

composer require "phpwhois/phpwhois":"~4.0"

[UnexpectedValueException]

无法解析版本约束:~4.0:无效的版本字符串“:~4.0”

然后这个:

composer require "phpwhois/phpwhois"

问题 1

  • 结论:删除phpwhois/phpwhois dev-master
  • 只能安装以下之一:phpwhois/phpwhois[dev-master, 4.2.3]。
  • 只能安装以下之一:phpwhois/phpwhois[dev-master, 4.2.4]。
  • 只能安装以下之一:phpwhois/phpwhois[v4.2.5, dev-master]。
  • phpwhois/phpwhois dev-master 的安装请求 -> 可由 phpwhois/phpwhois[dev-master] 满足。
  • phpwhois/phpwhois ^4.2 的安装请求 -> 可由 phpwhois/phpwhois[4.2.3, 4.2.4, v4.2.5] 满足。

然后这个:

composer require "phpwhois/phpwhois:~4.0"

这给出了与上面相同的错误。

我尝试了各种其他语法来指定这里的版本,但都没有奏效。

有什么想法吗?

【问题讨论】:

    标签: php composer-php


    【解决方案1】:

    好的,让我们从头开始。

    1. getcomposer.org 下载最新的composer.phar(向下滚动到手动安装)。
    2. 把它放在你的项目根目录下。
    3. 从您的 composer.json 中删除所有当前的 require 语句。
    4. 打开终端并导航到您的项目根目录。
    5. 执行php composer.phar require phpwhois/phpwhois
    6. 执行php composer.phar install
    7. 在您的代码中包含自动加载器:require vendor/autoload.php

    【讨论】:

    • 谢谢,我只是按照这些步骤操作。但是,我仍然得到相同的 Fatal error: Class 'phpWhois\Whois' not found in /home/myServer/www/myApp/api/whoistest.php on line 12 错误。如何获取有关此错误的更多信息?
    • 啊,示例中的use phpWhois\Whois 语句似乎没有必要。如果我删除该语句,它就可以正常工作。
    • 我认为你应该阅读 PHP 中的命名空间 =) 你要么使用一个类,要么使用一个完全限定的名称来调用它,但不能同时使用两者。
    猜你喜欢
    • 2010-12-05
    • 2012-03-04
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多