2016-10-24 15 views
4

今日私は以前に遭遇したことのない非常に奇妙な状況に遭遇し、どこでも修正を見つけることができませんでした。php職人が何も返さない

コンソールにphp artisanと入力すると、何も返されません。レポを複製しようとしました(これは他のマシン上では他のマシンでもうまくいきます)。新しくしたのはcomposer updatecomposer installで、laravelプロジェクト用にセットアップしました。

がSOにこのような複数のケースを発見し、find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing".

を実行した後、私はこのログを得た:

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

うまくいけば、あなたたちは私を助けることができます。

ありがとうございます!

答えて

1

このリンクのPHP 7でlintingの問題を抱えている人と同じ問題があると思います:https://github.com/paragonie/random_compat/issues/115

私はそれがうまくいっているので奇妙です。最新のLaravelバージョンではないか、またはcomposer.jsonファイルが正しくないと思わなければなりません。paragonie/random_compatが必要なパッケージ依存関係はすべて、最新のparagonie/random_compatパッケージは2.0.4です。

"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.*" 
} 

注:将来のリーダーのために、私はあなたが持っていないと信じ

チェックcomposer.json上ごLaravelデフォルトパッケージのバージョン番号のすべて、それがこのような正しい必要なバージョンに必要だことを確認してくださいアップグレードしたくない場合は、Laravelのバージョンを1つ変更してください。ただし、残りのパッケージバージョンをすべて変更して動作させる必要があると思います。

+1

ありがとうございます。私のcomposer.jsonをチェックした後、職人は再び働いていました。ありがとう! – Jaldre

0

random_bytes()random_int()は、それらがParagonie libに再宣言されているときにエラーが来るPHP 7で定義されています。このLaravelプロジェクトでPHP 7を使用している場合は、Paragonieを依存関係として削除する必要があります。

関連する問題