이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 14380|회답: 1

[웹사이트 운영] X3.2를 실행한 후 PHP 로그 프롬프트: PHP 엄격한 표준(Strict Standards)

[링크 복사]
게시됨 2016. 4. 27. 오전 11:01:37 | | |

운영체제: win2008 R2
PHP 버전: v5.4.32
MySQL 버전: 5.5.39 wincache와 memcache를 활성화하세요

다음 로그는 매일 불규칙한 시간에 반복됩니다:
----------------------------------------------------------------------

PHP 엄격한 표준: table_forum_post::update() 선언은 bbs\source\의 discuz_table::update($val, $data, $unbuffered = false, $low_priority = false)와 호환되어야 합니다. 클래스\class_core.php 113행

PHP 엄격한 표준: table_forum_post::d elete()의 선언은 bbs\source\class\class_core.php 113행의 discuz_table::d elete($val, $unbuffered = false)와 호환되어야 합니다

PHP 엄격한 표준: table_forum_post::insert() 선언은 discuz_table::insert($data, $return_insert_id = false, $replace = false, $silent = false)와 호환되어야 합니다. BBS\Source\class\class_core.php 113라인에

PHP 엄격한 표준: table_forum_post::fetch() 선언은 113행 bbs\source\class\class_core.php의 discuz_table::fetch($id, $force_from_db = false)와 호환되어야 합니다.

PHP 엄격한 표준: table_forum_post::fetch_all()의 선언은 bbs\source\class\discuz_table::fetch_all($ids, $force_from_db = false)와 호환되어야 class_core.php 113호선에서

PHP 엄격한 표준: table_forum_post::update_cache() 선언은 bbs\의 discuz_table::update_cache($id, $data, $cache_ttl = NULL, $pre_cache_key = NULL)와 호환되어야 합니다 Source\class\class_core.php 113행

이는 PHP 버전 5.3 때문입니다. 상속 클래스가 부모 클래스 다음에 정의되어야 함을 요구합니다. 그렇지 않으면 엄격한 기준: PHP가 있습니다. 엄격한 기준: 선언 .... .... 오류 프롬프트. 즉, 부모 클래스가 먼저 와야 하고, 상속된 클래스는 나중에 들어와야 합니다. bbs\source\class\class_core.php의 첫 문장은 수정 가능합니다: error_reporting(E_ALL & ~(E_STRICT |). E_NOTICE)); 시도해 봐



PHP 소프트웨어를 실행할 때 비슷한 오류 "Strict Standards"가 발생하면 버그가 아니지만, PHP 5.3은 이전 버전과 호환성이 좋지 않습니다. 5.3 이후 버전은 사용 전에 선언이 필요합니다.
수정 php.ini 문제를 해결할 수 있지만, 실제로는 이 예외가 표시되지 않습니다:

원php.ini
error_reporting = E_ALL | E_STRICT

다음과 같이 변경되었습니다
error_reporting = E_ALL & ~E_NOTICE





이전의:Discuz X3.2 업그레이드 후 RSS 출력 버그를 수정했습니다
다음:asp.net jquery datatables 백그라운드에 전달되는 매개변수를 얻습니다
게시됨 2016. 12. 17. 오전 9:46:32 |
error_reporting() 함수는 어떤 오류를 보고할지 지정합니다. 이 함수는 현재 스크립트의 오류 보고 수준을 설정합니다. 이 함수는 이전 오류 보고 수준을 반환합니다.
먼저 알아야 할 점은 error_reporting() 함수를 사용해 오류 레벨을 설정하고 현재 레벨을 반환한다는 것입니다. 다음과 같은 14가지 오류 수준이 있습니다:

1 E_ERROR 치명적인 실행 시간 오류. 이 오류는 복구할 수 없습니다. 대본 집행이 중단된다
2 E_WARNING 비치명적 실행 시간 오류. 대본의 실행은 멈추지 않는다
4 E_PARSE 컴파일 시 파싱 오류. 파싱 오류는 분석기에서만 생성되어야 합니다
8 E_NOTICE 운영 시간 알림.
PHP 시작 시 치명적인 오류 발생E_CORE_ERROR 16. 이것은 PHP 코어의 E_ERROR와 같습니다
32 E_CORE_WARNING PHP 시작 시 비치명적인 오류가 발생했습니다. 이것은 PHP 코어의 경고 E_WARNING와 같습니다
64 E_COMPILE_ERROR 치명적인 컴파일 타임 오류. Zend 스크립팅 엔진으로 E_ERROR을 생성하는 것과 같습니다
128 E_COMPILE_WARNING 치명적이지 않은 컴파일 시 오류, 젠드 스크립팅 엔진에서 생성된 E_WARNING 경고
256건의 치명적인 사용자 발생 오류E_USER_ERROR.
512 E_USER_WARNING 비치명적인 사용자 생성 경고.
1024 E_USER_NOTICE 사용자 생성 알림.
2048년 E_STRICT 실행 시간 알림.
4096 E_RECOVERABLE_ERROR 치명적인 오류를 잡아라.
8191은 모든 오류와 경고를 E_ALL.


면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com