MAMP php5严格标准
我正在尝试在mamp的php.ini中将error_reporting设置为E_ALL&〜E_STRICT。
但是这根本没有受到影响。 我确认我正在编辑正确的文件,通过设置不同的error_reporting像E_NOTICE和检查phpinfo来验证相同。
但只有〜E_STRICT没有发生。
当我访问我的cms(concrete5)时,它给了我一个严格错误列表(粘贴下面的前几个):
Strict Standards: Non-static method Cache::get() should not be called statically in www/concrete/models/package.php on line 78
严格标准:非静态方法Cache :: key()不应在第117行的www / concrete / libraries / cache.php中静态调用
严格标准:非静态方法Cache :: getLibrary()不应该在第121行的www / concrete / libraries / cache.php中静态调用
试图在.htaccess和index.php文件中将error_reporting设置为E_ALL&〜E_STRICT。 没有工作。
请解决。
Concrete5有一个设置,可以在显示板 - >系统和设置 - >环境 - >调试设置中抑制显示错误和警告(以及我所设想的通知)。 有可能你有这个设置来隐藏所有的错误/警告 - 这将覆盖配置文件中的设置。
至于@ PeeHaa的关于压制错误而不是修复它们的评论,那么它并不那么简单,因为Concrete5 CMS本身有一个TON的php会产生通知。 我认为这是因为在某些事情被弃用之前几年前编写的代码。 例如,即使该函数未被声明为“静态”,仍有大量系统函数被静态调用。 在老版本的PHP中,这是一件好事,但现在却不受欢迎。 不幸的是,我不认为你可以对此做任何事情。
不幸的是,这是使用Concrete5的一个折衷。 这是最好的CMS,但它并不总是最先进的开发人员最先进的平台。
让Concrete5忽略这些错误并加载一个页面(包括仪表板)是非常棘手的。 最好的办法是将PHP降级到最新的5.3.X,直到PHP 5.4.X兼容版本发布。
我通过从我的imac上的mamp转移到xampp来解决这个问题。
与mamp问题:它不允许我们使用php 5.3,除非我们有mamp pro
我使用的解决方案:我使用php 5.3迁移到xampp,并且一切都很顺利。
链接地址: http://www.djcxy.com/p/58921.html上一篇: MAMP php5 strict standards
下一篇: why is the code behaving this way WRT reference return?