今天我遇到了一个我从未遇到过的非常奇怪的情况,无法在任何地方找到解决办法。
每当我在控制台中输入php artisan
时,它都不会返回任何内容。尝试克隆repo(在这里的其他机器上工作正常)多次,并为laravel项目做了一个新的composer update
,composer install
和设置。
在SO上找到多个这样的案例,并在运行find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing".
我收到了这个日志:
PHP致命错误:无法在第83行的./vendor/paragonie/random_compat/lib/random_bytes_openssl.php中重新声明random_bytes() 解析错误./vendor/paragonie/random_compat/lib/random_bytes_openssl.php PHP致命错误:无法在第148行的./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php中重新声明random_bytes() 解析错误./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php xargs:php:退出状态为255;中止 xargs:php:退出状态为255;中止 PHP致命错误:无法在第191行的./vendor/paragonie/random_compat/lib/random_int.php中重新声明random_int() 解析错误./vendor/paragonie/random_compat/lib/random_int.php PHP致命错误:无法在第76行的./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php中重新声明random_bytes() 解析错误./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php
希望你们能帮助我。
谢谢!
答案 0 :(得分:1)
我认为您的问题与此链接中PHP 7中存在linting问题的人员相同:https://github.com/paragonie/random_compat/issues/115。
这很奇怪,因为对我来说它运行正常,所以我必须假设你没有使用最新的Laravel版本或者你的composer.json
文件不正确,因为所有需要{{1}的软件包依赖项}必须指向最新的paragonie/random_compat
包paragonie/random_compat
。
检查2.0.4
上的所有Laravel默认软件包版本号,确保它需要正确的所需版本,如下所示:
composer.json
注意:对于未来的读者,我相信如果您不想升级,则无需更改Laravel版本,但我相信您必须更改所有其他软件包版本才能使其正常工作
答案 1 :(得分:0)
random_bytes()
和random_int()
,因此当它们在Paragonie lib中重新声明时会出现错误。如果您在此Laravel项目中使用PHP 7,则应将Paragonie作为依赖项删除。