15

私は最近、ローカル開発環境 (MAMP、PHP 5.4.3) で Laravel プロジェクトの作業を開始しましたが、文書化されていないように見える奇妙な出来事にやや悩まされています。

ときどき、ページを読み込もうとすると、代わりに「Directive 'allow_call_time_pass_reference' is no longer available in PHP.」というメッセージとともに、未処理の例外画面が表示されます。(リストされている場所は「行 0 の不明」です。) ページを 1 回か 2 回リロードすると、期待どおりに動作します。しかし、問題はすぐに再発します。独自のコントローラーやモデルを追加する前から、Laravel を最初に実行して以来、それを行ってきました。

PHP構成でallow_call_time_pass_referenceをコメントアウトし、明示的にオフに設定しようとしました(もちろん、変更を加えた後にサーバーを再起動します)が、断続的な警告が引き続き表示されます。エラーを表示する設定がオフになっているので本番では大したことないと思いますが、プロジェクトをローカルで作業しているときはちょっと面倒です。

これを引き起こしている可能性のあるものについてのアイデアはありますか?

4

1 に答える 1

25

PHP 5.4の後方互換性のない変更によると、参照による呼び出し時間の経過は削除されました。allow_call_time_pass_referenceエラーがディレクティブと行0を示しているので、php.iniファイルの問題であると思われるので、それを開いて、エラーがなくなることを示す行をコメントアウトしてください。お役に立てば幸いです。

php.iniファイルがどこにあるかわからない場合は、呼び出すページを読み込んで検索することで見つけることができますphpinfo().ini

于 2012-10-18T17:21:08.017 に答える