资讯专栏INFORMATION COLUMN

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

libin19890520 / 799人阅读

摘要:检测是否关闭了。一个字,烦关于空间名大小写问题问题在类内实例化类,并调用类内的方法,第一次运行,没用错误。结果仍解决不了。一经检查,发现类空间名中的路径与类文件路径存在不一致主要是有一个字母的大小写不同,其它部分都一样。

1、trait 命名问题。

问题:trait 里定义的方法找不到

example();    
    }
}
PHP message: PHP Fatal error:  Call to undefined method appcontrollersFooController::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 = 0opcache.enable_cli=0。这才解决。

一个字,烦~

3、关于空间名大小写问题

问题:在A类内实例化B类,并调用B类内的C方法,第一次运行,没用错误。这时修改C方法,重新运行,结果却是修改之前的代码。

解决:一开始怀疑有opcache缓存,所以关掉了opcache。结果仍解决不了。我的docker用的是 ubuntu,我把代码放到了 centos上,结果报错 - “A类实例化B类的时候,找不到B类”。可明明在ubuntu上没问题啊。一经检查,发现 B类空间名 中的路径B类文件路径存在不一致(主要是有一个字母的大小写不同,其它部分都一样)。

于是把B类的空间名的大小写与所在文件路径的路径(主要指B类所在文件的上级文件夹的命名)大小写统一,问题解决了。

不是缓存问题~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29289.html

相关文章

  • 大前端资源、教程锦集

    摘要:详细说明,可参见与时俱进版前端资源教程。分类目录大前端综合持续更新中。 Nice Front-end Tutorial 目标与哲学 众所周知,前端发展如火如荼,日新月异,而且很长一段时间内都将如此。这份由晚晴幽草轩轩主正在维护的教程列表;旨在为前端学习,技能提升,视野扩展,资料查找等行个方便。将会在日常工作探索、学习中,持续保持更新,增新优之章,除旧失之文;尽可能使得这份列表保持简练,...

    lykops 评论0 收藏0
  • PHP新手开发者的路线建议

    摘要:年开发者应该熟练使用,并且知道版本更新内容。对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。是标准规范,是开发的实践标准。对开发者来说语言推荐和,全栈的选择非常多,推荐热门的 前言 在前天(2018-08-02)已经发布了PHP 7.3.0.beta1 Released 如果你还没有使用 PHP7 ,那真的很遗憾。2018年PHP开发者应该熟练使用 PHP7...

    klinson 评论0 收藏0
  • walle-瓦力自动化部署工具

    摘要:项目地址瓦力,上线开源两个月,目前已支持超过十家企业线上部署使用,每周更新一个版本,持续带来新特性。支持开放接口支持第三方了解更多项目地址瓦力,官方主页瓦力。 1 Git Flow 一般而言,软件开发模型有常见的瀑布模型、迭代开发模型、以及最近出现的敏捷开发模型等不同的模型。每种模型有各自应用场景,Git Flow是构建在Git之上的一个组织软件开发活动的模型,Git Flow重点解...

    Allen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<