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