2010-08-21 9 views
1

000webhost와 함께 호스팅되는 맘보 CMS 웹 사이트가 있습니다. 이 사이트는 Mambo 4.6.2에 의해 구동됩니다. PHP 버전 5.2.13이 000webhost 웹 서버에 설치되어 있습니다. 웹 사이트가 잘 돌아갑니다.PHP 치명적 오류 : 정의되지 않은 메서드 호출 mosMenu :: mosDBTable()

사이트에서 마지막으로 작업 한 이후 개발 컴퓨터의 OS를 Ubuntu 10.04로 업그레이드했으며 사이트가 더 이상 작동하지 않습니다. 이 컴퓨터에는 PHP 버전 5.3.2-1ubuntu4.2이 설치되어 있습니다.

내가 인터넷 검색 : PHP 치명적 오류 : 정의되지 않은 메소드 mosMenu :: mosDBTable()을 호출하면이 코드가 thread on the Mambo Forums이되었습니다.

위의 스레드는 php.ini의 다음 설정을 사용하는 것이 좋습니다. error_reporting = E_ALL | ~E_STRICTzend.ze1_compatibility_mode true.

PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/index.php on line 170 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/index.php on line 270 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/index.php on line 323 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/index.php on line 328 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/database.php on line 777 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 407 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 426 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 533 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 1148 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 1676 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2615 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2621 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2627 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2633 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2639 
PHP Deprecated: Assigning the return value of new by reference is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2668 
PHP Deprecated: Function ereg_replace() is deprecated in /home/mike/Public/mambo/includes/core.classes.php on line 2978 
PHP Fatal error: Call to undefined method mosMenu::mosDBTable() in /home/mike/Public/mambo/includes/core.classes.php on line 897 

동일한 코드는 (또한 PHP 5가 설치되어 있음) 000webhost 서버 오류없이 실행 : 나는 17 추가 오류를 생산하는이를 시도했다. 내가 알고 싶은 것은, PHP 5/Apache 2가 코드 자체를 수정하지 않고 비난 된 코드를 실행하도록 구성 할 수 있습니까?

감사합니다,
마이크

+0

또한 : – Sarfraz

답변

0

이 최선의 해답이 될하지 않을 수 있습니다,하지만 난 this topic을 읽은 후 더 이상 맘보를 사용하는 것을 고려하지 않을 것입니다.

그 남자 "andphe"는 Mambo 프로젝트의 관리자이자 프로그래머이며 그는 OP가 error_reporting 설정을 변경하도록 권장했습니다. 소금을 쓸만한 PHP 프로그래머라면 모두 error_reporting이 메시지를 숨기므로 치명적인 오류를 수정하지 않을 것입니다. 치명적인 오류가 발생하면 오류보고 수준에 관계없이 코드가 여전히 작동하지 않습니다. 오류 메시지는 볼 수 없습니다.

이와 같은 실수는 프로젝트에 신뢰를 안겨줍니다. 나는 단지 Joomla (Mambo의 포크)이나 Drupal과 같은 다른 CMS를 사용하는 것이 가장 일반적인 PHP 기반 CMS라고 할 수 있습니다.

+0

예, 모든 파일의 권한이/폴더를 재귀 적으로 설정되어 777 어제에 문제의 코드를 게시해야한다, 나는 결과 XAMPP의 최신 버전을 사용하여 Windows XP에서 프로젝트를 실행 시도 'PHP 치명적 오류 : 정의되지 않은 메소드 mosMenu :: mosDBTable() 오류'로 호출하십시오. 우분투로 돌아가서 나는 Sourceforge에서 'MamboV4.6.2.tar.gz'원본을 다운로드하고 새로운 웹 사이트를 개설했습니다. 설치 프로세스가 성공적으로 완료되었지만 설치 후 사이트에 액세스 할 때 동일한 오류가 나타났습니다. ... – unpossible

+0

웹 웹 호스트에서 (작업 중) 웹 사이트를 다운로드하고 우분투에 설정했는데, 위와 동일한 17 개의 오류가 생성되었습니다. PHP 5의 구성, 특히 'error_reporting'지시문이 개발 서버에서 발생 했습니까? '/etc/php5/apache2/php.ini'의 기본 설정은 'error_reporting = E_ALL & ~ E_DEPRECATED'입니다. 나는 'error_reporting = E_ALL & ~ E_NOTICE'로 바꿨지 만 여전히 기쁨은 없습니다. 나는 다음에 무엇을 시도해야 할지를 놓치고 있습니다. 모든 포인터가 가장 환영받을 것입니다. – unpossible

+0

@mej 업데이트 된 답변 읽기 – NullUserException

관련 문제