Невозможно использовать PhpParser\Node\Scalar\String в качестве имени класса, поскольку оно зарезервировано
Когда я использую композитор для установки Laravel 5, я получаю эту ошибку:
Невозможно использовать 'PhpParser\Node\Scalar\String' в качестве имени класса, поскольку оно зарезервировано в строке /Applications/XAMPP/xamppfiles/htdocs/learnlaravel5/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php 86
Что случилось?
3 ответа
Я предполагаю, что вы используете PHP7, иначе вы не получите эту ошибку (?).
В PHP7 String
теперь является зарезервированным ключевым словом наряду с некоторыми другими. Библиотека PHP-Parser использовала это ключевое слово, но с тех пор была исправлена в апреле 2015 года. Попробуйте обновить библиотеку PHP-Parser, это должно помочь.
После ответа @SamV эта проблема может привести к post-create-project-cmd
не запускать. В результате у вас не будет .env
файл. Чтобы компенсировать это, вы можете запустить их вручную из папки вашего проекта в терминале следующим образом.
cp .env.example .env
php artisan key:generate
Вы можете увидеть, какие сценарии фактически выполняются, проверив раздел сценариев composer.json
файл.
В php 7 "String" - это специальное имя класса. Лучшее решение - обновить версию Laravel. Но если вам нужно использовать более старую версию, вы можете заменить String на String_
В
/vendor/psy/psysh/src/Psy/CodeCleaner/MagicConstantsPass.php
на линии 19 вы найдете два String
просто замените их String_
,