今天我遇到了一个我以前从未遇到的非常奇怪的情况,无法在任何地方找到解决办法.
每当我在我的控制台中键入php artisan时,它都不会返回任何内容.尝试克隆repo(这里在其他机器上工作正常)多次,并为laravel项目做了一个新的作曲家更新,作曲家安装和设置.
在SO上找到这样的多个案例,并在运行find -L ./ -name’* .php’-print0 |之后xargs -0 -n 1 -P 4 php -l | grep“错误解析”.
我得到了这个日志:
PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php on line 83
Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php
PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php on line 148
Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php
xargs: php: exited with status 255; aborting
xargs: php: exited with status 255; aborting
PHP Fatal error: Cannot redeclare random_int() in ./vendor/paragonie/random_compat/lib/random_int.php on line 191
Errors parsing ./vendor/paragonie/random_compat/lib/random_int.php
PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php on line 76
Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php
希望你们能帮助我.
谢谢!
最佳答案 我假设你的问题与在这个链接中有PHP 7中的linting问题的人一样:
https://github.com/paragonie/random_compat/issues/115.
这很奇怪,因为对我来说它工作正常,所以我必须假设你没有使用最新的Laravel版本或者你的composer.json文件不正确,因为所有需要paragonie / random_compat的包依赖都必须指向最新的paragonie / random_compat包是2.0.4.
检查composer.json上的所有Laravel默认软件包版本号,确保它需要正确的所需版本,如下所示:
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
}
注意:对于未来的读者,我相信如果您不想升级,则不必更改Laravel版本,但我相信您必须更改所有其他软件包版本才能使其正常工作.