当前位置: 首页 > 后端技术 > PHP

PHP开发错误合集(持续更新中)

时间:2023-03-29 16:57:39 PHP

1。特征命名问题。问题:找不到trait中定义的方法example();}}PHP报错:PHPFatalerror:Calltoundefinedmethodapp\controllers\FooController::example()inpath/controllers/FooController.phponlinexx解决方法: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。就是这样。一个字,麻烦~3.关于空间名大写:在A类中实例化B类,在B类中调用方法C,第一次运行时无用,错误。这时候修改C的方法,再次运行,结果是修改了之前的代码。解决方法:一开始怀疑是有opcache缓存,于是关闭了opcache。结果还是没有解决。我的docker用的是ubuntu,我把代码放到centos上,结果报错——“A类实例化B类时,找不到B类”。但是在ubuntu上显然没有问题。经检查,发现B类空间名中的路径与B类文件的路径不一致(主要是一个字母大小写不一样,其他部分是一样的)。所以将B类空间名的大小写与文件路径的路径统一(主要是指B类所在文件的上层文件夹的命名),问题解决。不是缓存问题~