Fatal error: Access level to xxx must be protected 错误解决

今天程序突然出现这样的报错
Fatal error: Access level to xxx must be protected (as in class xxx) or weaker in xxx.php on line

原因是子类中定义了与父类一样的方法名

子类:
private function return_json($message,$result='true') {
        $data = array();
        $data['result'] = $result;
        $data['message'] = $message;
        self::echo_json($data);
}

private function echo_json($data) {
    if (strtoupper(CHARSET) == 'GBK'){
        $data = Language::getUTF8($data);//网站GBK使用编码时,转换为UTF-8,防止json输出汉字问题
    }
    echo json_encode($data);
}

父类:

/**
 * 返回json状态
 */
protected function return_json($message,$result='true') {
    $data = array();
    $data['result'] = $result;
    $data['message'] = $message;
    self::echo_json($data);
}

protected function echo_json($data) {
    if (strtoupper(CHARSET) == 'GBK'){
        $data = Language::getUTF8($data);//网站GBK使用编码时,转换为UTF-8,防止json输出汉字问题
    }
    echo json_encode($data);die;
}

解决办法

把子类中的private 改成 protected,或者避免方法重名。这里例子中很显然是相同的方法进行了重复的定义,子类删除这两个方法即可。

时间: 2024-09-11 13:55:04

Fatal error: Access level to xxx must be protected 错误解决的相关文章

Fatal error Maximum execution time of 30 seconds exceeded错误

问:PHP程序运行时出现"Fatal error Maximum execution time of 30 seconds exceeded"提示,请问如何解决这一问题? 答: 方法1:修改php.ini: max_execution_time = 时间,然后重起服务 方法2:改写PHP程序,在程序中写 set_time_limit(时间); //0为无限制Top

Print2Flash出现"System Error. Code:1722. RPC服务器不可用."错误解决办法

Print2Flash出现"System Error. Code:1722. RPC服务器不可用."错误. 一般来说这个应该是某个Windows服务没有打开所导致的问题.后来才发现:原来是Print Spooler这个服务没有启动,只要启动这个服务就可以了,启动的时候就不会报错了.

php运行提示:Fatal error Allowed memory size内存不足的解决方法_php技巧

本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

configure error:安装php时出现configure: error: Unable to find gd.h anywhere under,错误解决

在进行PHP开发环境源码安装时,在安装PHP-5.2.6是出现:configure: error: Unable to find gd.h anywhere under错误 解决方式: 1.在gd库的安装路径下搜索没有发现gd.h文件,但是在/etc/include下有gd.h文件 2.在网上搜索发现重装gd库可解决 3.重新安装gd库,在安装时出现:   configure.ac:64: error: possibly undefined macro: AM_ICONV  If this to

PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法

 这篇文章主要介绍了PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法,需要的朋友可以参考下 在一台处理网络支付的服务器迁移的时候,发现不能支付. PHP环境: PHP版本为5.3.3 系统为Red Hat 4.1.2-54 查看apache的错误日志,发现是加密文件中一个函数bcmul()报错:  代码如下: PHP Fatal error: Call to undefined function bcmul() in /php_rsa

WordPress提示Fatal error: Allowed memory size of

错误提示 Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in  /home/www/web/xxxxxx.php on line xxx 方法一: 在 wp-config.php 文件的 define ('WPLANG', '');下一行添上:  代码如下 复制代码  define('WP_MEMORY_LIMIT', '64M'); 方法二: 在WordPr

PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法_php实例

在一台处理网络支付的服务器迁移的时候,发现不能支付. PHP环境:PHP版本为5.3.3系统为Red Hat 4.1.2-54 查看apache的错误日志,发现是加密文件中一个函数bcmul()报错: 复制代码 代码如下: PHP Fatal error:  Call to undefined function bcmul() in /php_rsa.php on line xxx 解决办法:使用如下命令: 复制代码 代码如下: yum install php-bcmath 就安装好了. 如果出

Fatal error: session_start(): Failed to initialize storage module: files问题解决方法_php技巧

之前编译安装的LNMP环境+phpmyamdin4.02的版本,今天突然出现这个问题: 复制代码 代码如下: Fatal error: session_start(): Failed to initialize storage module: files (path: ) in /data/www/phpmyadmin/libraries/session.inc.php on line 83 大致意思是session会话初始化的时候储存路径有误!第一反应就是查看php.ini的配置文件中的: 复

PHP Fatal error: Call to undefined function bcmul()

在一台处理网络支付的服务器迁移的时候,发现不能支付. 1.PHP版本为5.3.3 2.系统为Red Hat 4.1.2-54 查看apache的错误日志,发现是加密文件中一个函数bcmul()报错: PHP Fatal error:  Call to undefined function bcmul() in /php_rsa.php on line xxx 这个函数是PHP数学扩展中的一个.使用 bcscale() 来设置全局默认的小数位数,具体用法如下: <?php echo bcmul('