2017-10-13 49 views
0

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

这是我的尝试:

  • 克隆的git回购本地​​
  • 安装作曲家为Windows
  • 在PowerShell中,浏览到本地存储库
  • 类型化composer require。作曲家第一次问我:Search for a package:,在那里我只是按了ENTER。然后,Composer在供应商目录(phpunit,symfony,sebastian等)中安装了各种软件包,并创建了一个autoload.php文件。

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

Fatal error: Class 'phpWhois\Whois' not found in /home/myServer/www/myApp/api/whoistest.php on line 12

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

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

于是,我在PowerShell控制台执行以下操作:

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

[UnexpectedValueException]

Could not parse version constraint :~4.0: Invalid version string ":~4.0"

然后此:

composer require "phpwhois/phpwhois" 

Problem 1

  • Conclusion: remove phpwhois/phpwhois dev-master
  • Can only install one of: phpwhois/phpwhois[dev-master, 4.2.3].
  • Can only install one of: phpwhois/phpwhois[dev-master, 4.2.4].
  • Can only install one of: phpwhois/phpwhois[v4.2.5, dev-master].
  • Installation request for phpwhois/phpwhois dev-master -> satisfiable by phpwhois/phpwhois[dev-master].
  • Installation request for phpwhois/phpwhois ^4.2 -> satisfiable by phpwhois/phpwhois[4.2.3, 4.2.4, v4.2.5].

然后此:

composer require "phpwhois/phpwhois:~4.0" 

这给了相同的错误如上。

我试过各种其他的语法来指定版本,但没有一个能够工作。

任何想法?

回答

1

好吧,让我们从头开始。

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

谢谢,我只是按照这些步骤。但是,我仍然得到相同的致命错误:Class'phpWhois \ Whois'在第12行错误/home/myServer/www/myApp/api/whoistest.php中找不到。我怎样才能获得关于这个错误的更多信息? –

+0

啊,似乎从示例中使用phpWhois \ Whois'声明是没有必要的。如果我删除该声明,它工作正常。 –

+0

我认为你应该阅读PHP中的命名空间=)你可以使用一个类,或者使用完全限定的名称来调用它,但不能同时使用它们。 – chocochaos