使用Composer安装PHP项目依赖项

使用Composer安装PHP项目依赖项,php,xampp,composer-php,nette,Php,Xampp,Composer Php,Nette,我正在尝试使用Composer(在XAMPP上)安装Nette2.3.1。在c:\x\php文件夹中,我运行以下命令: composer create-project nette/sandbox myprojectname 执行此操作时,会出现以下错误: [Seld\JsonLint\ParsingException]“c:\x\php\php.exe”不包含 第1行的有效JSON解析错误:MZÉ♥ ♦    ╕ ^ 预期会出现以下情况之一: '字符串','数字','空','真','

我正在尝试使用Composer(在XAMPP上)安装Nette2.3.1。在c:\x\php文件夹中,我运行以下命令:

composer create-project nette/sandbox myprojectname
执行此操作时,会出现以下错误:

[Seld\JsonLint\ParsingException]“c:\x\php\php.exe”不包含 第1行的有效JSON解析错误:MZÉ♥ ♦    ╕ ^ 预期会出现以下情况之一: '字符串','数字','空','真','假','{','['

我尝试了所有这些选项,但都无济于事:

  • 已删除项目目录并重试
  • 在htdocs文件夹中运行此命令
  • 通过PHP JetBrains控制台运行此命令
  • 确保编写器版本是最新版本
  • 怎么了? 这就是问题所在:

  • 我在反病毒软件运行时安装了xampp——我收到了一个警告,但我选择忽略它。结果php.exe被破坏了,对我来说整个事情都搞砸了

  • 我的用户下的路径变量没有用php.exe PATH更新。虽然系统变量已更新,但我仍然不明白为什么这会成为一个问题

  • 我是如何纠正这一点的:


    完全删除了xampp,清除了composer缓存,这次安装了wamp,并为nette sandbox创建了项目。这很好。公平地说,如果我在安装xampp时禁用av并正确更新路径变量,xampp也会工作得很好。

    我认为您的composer路径或快捷方式/批处理文件有点坏,因为它s将php.exe文件作为JSON文件读取

    尝试完全删除composer并从干净的安装开始

  • 使用下载并安装composer。它为您设置路径,因此您可以从任何位置调用composer
  • 关闭命令行终端并启动一个新的终端(重要)
  • 尝试在任何目录中运行
    composer create project nette/sandbox myprojectname
    命令

  • 这个命令对我来说很好用……也许你的Composer安装有问题。你正在运行最新版本(
    Composer--version
    )?尝试
    composer selfupdate
    。或者尝试从getcomposer.org/download获取新版本,或者使用单机版phar composer…@Ondra我如何使用单机版phar composer?您可以从-手动下载部分下载phar。下载文件并将其保存在某个位置。然后在命令行中导航到该文件(
    cd c:\某处\其他地方
    )然后以普通PHP文件的形式运行它,即
    PHP composer.phar--version
    。如果您的路径被破坏或设置错误,您可能需要使用PHP的完整路径,即
    c:\x\PHP\PHP.exe composer.phar--version
    ,谢谢Samuel。是的,显然PHP.exe也已损坏。在安装xampp时,我选择忽略防病毒软件的警告在安装过程中正在运行,这可能会在以后产生问题。现在,我卸载了xampp,禁用了av并再次运行了xampp安装>>添加了路径变量。PHP和Composer在命令行上都运行良好。现在,我必须为nette创建Composer.json文件,并将其放在htdocs下的项目文件夹中的何处(或www.wamp)?在这种情况下,我应该将comand行的目录更改为项目文件夹并运行“composer create project”命令吗?如果您想尝试nette sandbox,您不需要自己创建composer.json文件。只需转到htdocs目录并运行
    composer create project nette/sandbox myprojectname
    命令,它将创建一个名为myprojectname的新子目录,将有一个nette sandbox及其所有依赖项的副本。其中已包含composer.json和composer.lock(json从repo中获取,lock文件在create project命令期间生成)。完成后,请检查是的,现在工作正常-我删除了xampp并安装了wamp。运行composer create project nette/sandbox myproject,现在一切正常。非常感谢大家。我正在尝试(使用nette\Application\UI;)不带括号访问Presenter.php-UI下的一个库文件。我使用此表达式的项目文件位于项目根文件夹中。但我遇到了无法分析使用的错误。给定路径未解析。然后我将项目文件放入(vendor\nette\application\src)没用,我做错了什么?