Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到phar类_Php_Phar - Fatal编程技术网

Php 找不到phar类

Php 找不到phar类,php,phar,Php,Phar,我正在尝试为php“composer”安装依赖关系管理器,但“composer”需要扩展名“phar”。我已经意识到php6在默认情况下随phar一起提供,但是它被禁用,并且不是执行“phar”文件所必需的 当我尝试执行“composer.phar”(在cmd:php composer.phar中)时,它抛出错误: 致命错误:在第13行的composer.Phar中找不到类“Phar”。 如果我尝试执行Composer安装程序,“installer.php”(在cmd:php installer

我正在尝试为php“composer”安装依赖关系管理器,但“composer”需要扩展名“phar”。我已经意识到php6在默认情况下随phar一起提供,但是它被禁用,并且不是执行“phar”文件所必需的

当我尝试执行“composer.phar”(在cmd:php composer.phar中)时,它抛出错误:

致命错误:在第13行的composer.Phar中找不到类“Phar”。

如果我尝试执行Composer安装程序,“installer.php”(在cmd:php installer.php中)会抛出以下错误:

您机器上的某些设置使composer无法正常工作。确保修复了下面列出的问题,然后再次运行此脚本:

缺少phar扩展。我怎样才能解决这个问题


我应该在没有禁用phar的情况下安装它还是重新编译php?我使用的是appserv 2.6.4(apache 2.2、php6、mysql 4)。

你真的不应该使用尖端的理论软件。PHP6实际上并不存在。降级到更现实的appserv版本可以解决您的问题。但如果坚持使用2.6.4,则应执行以下操作:

  • 检查phar.so是否存在于php扩展目录中。如果没有,则需要安装该扩展
  • 如果它存在,请检查它是否在php.ini中列为
    extension=phar.so
    。如果不是,则添加该行
  • 如果是,请检查它是否也列在php命令行使用的php.ini中。命令行PHP和web PHP有时使用不同的PHP.ini文件,其中一个可能激活了phar.so,另一个可能没有

谢谢你,斯威德。我会坚持多花一点时间来学习php6。我知道php6在核心[1]中附带了phar,因此它不需要php.ini中的扩展phar。但我不知道我是否正确。[1] 我想你不明白——PHP6实际上是不存在的。这不是一个真正的项目。你在那里玩的是有人对它的疯狂解读,而你用它构建的大多数东西在2017年左右某个时候面世后将永远无法与真正的PHP6兼容。Phar是从5.3.0开始安装的,所以不必为php6操心。你知道php6不存在,而且实现的Appserv工作不好,显然它是用指令编译的——禁用Phar,不允许执行Phar文件。这是因为你使用的PHP版本比源代码要求的版本旧(例如,当composer需要5.4时,您正在使用PHP5.2)