不能使用'PhpParser \ Node \ Scalar \ String'作为类名,因为它是保留的

时间:2015-12-10 10:55:51

标签: laravel-5 composer-php php-parse-error

当我使用作曲家安装Laravel 5时,我收到此错误:

  

不能使用'PhpParser \ Node \ Scalar \ String'作为类名   保留在   /Applications/XAMPP/xamppfiles/htdocs/learnlaravel5/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php   第86行

Image of the error here

有什么问题?

3 个答案:

答案 0 :(得分:7)

我假设您使用的是PHP7,否则会出现此错误(?)。

在PHP7中,String现在是一个保留关键字以及some others。 PHP-Parser库使用了这个关键字,但是从fixed in April 2015开始。尝试升级PHP-Parser库,这应该有帮助。

答案 1 :(得分:5)

按照@ SamV的回答,此问题可能导致<?xml version="1.0" encoding="utf-8" ?> <!-- For more information on using transformations see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. --> <config xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <application name="HSMED"> <appHost>dev</appHost> //not sure how to specify transform </application> </config> 无法运行。因此,您将不会拥有post-create-project-cmd个文件。为了弥补这一点,您可以从终端的项目文件夹中手动运行它们,如下所示。

.env

您可以通过查看cp .env.example .env php artisan key:generate 文件的脚本部分来查看实际运行的脚本。

答案 2 :(得分:1)

在php 7&#39; String&#39;是一个特殊的类名。 最好的解决方案是升级Laravel版本。 但是,如果您需要使用旧版本,则可以使用String_替换String 在

  

/vendor/psy/psysh/src/Psy/CodeCleaner/MagicConstantsPass.php

在第19行,您会找到两个String,只需将其替换为String_