PHP開発エラー錦集(継続更新)


1、trait命名問題.
質問:traitで定義された方法が見つかりません
example();    
    }
}
PHP message: PHP Fatal error:  Call to undefined method app\controllers\FooController::example() in path/controllers/FooController.php on line xx

解決:
trait   trait             。     trait    Example       example()          。

2、あなたのopcacheは本当に閉まっていますか.
開発の過程で、コードを変更したが、実際には を変更した内容が出力された.
        opcache。

var_dump(ini_get('opcache.enable'));
    0,    。

最近はlaradockというdockerの環境で、私は配置の中でPHP_FPM_INSTALL_OPCACHE=falseを変更し、./php-fpm/opcache.iniの中のすべてのものを注釈し、容器を再コンパイルしました.しかし、結果はopcacheをオフにしませんでした!
最後に、注釈できないことに気づきました.opcacheがデフォルトで開いているような気がします../php-fpm/php5.6.ini./php-fpm/opcache.iniopcache.enable = 0opcache.enable_cli=0を明確に指定しました.これでやっと解決した.
1文字、うるさい~
3、スペース名の大文字と小文字について
問題:A 内でB をインスタンス化し、B 内のC を呼び出し、初めて実行し、エラーは発生しません.このときC を修正し、再実行したが、結果は以前のコードを修正した.
解決:最初はopcacheキャッシュが疑われたので、opcacheをオフにしました.結果はまだ解決できない.私のdockerはubuntuを使っています.コードをcentosに置いた結果、“A B , B ”と間違えました.でもubuntuで大丈夫なのにね.チェックすると、B B のファイルパスには (主にアルファベットの大文字と小文字が異なり、他の部分は同じ)が存在することが分かった.
そこで,Bクラスの空間名の大文字と所在ファイルパスの (主にBクラス所在ファイルの上位フォルダの命名を指す) を書き,問題が解決した.
キャッシュの問題ではありません~