2013-08-30 3 views
0
우리는 FastCGI를 함께 PHP 버전 5.3.2을 사용하고

: 나는이 Lighttpd 웹에 통지를 생성하는 것 PHP 스크립트를 가지고이 Lighttpd 1.4.26에서 PHP 5.3.2와 htmlentities()에서 플래그 ENT_XML1

$ /usr/lib/cgi-bin/php5 -v 
PHP 5.3.2-1ubuntu4.20 with Suhosin-Patch (cgi-fcgi) (built: Jul 15 2013 17:10:44) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 
    with XCache v1.3.0, Copyright (c) 2005-2009, by mOo 

서버 오류 로그 :

2013-08-30 14:11:46: (mod_fastcgi.c.2711) FastCGI-stderr: PHP Notice: 
Use of undefined constant ENT_XML1 - assumed 'ENT_XML1' in 
/var/www/request.php on line 719 

그 줄에서 스크립트)을 (를 htmlentities를 호출 :

htmlentities($xml, ENT_QUOTES | ENT_XML1, 'UTF-8') 

문서 htmlentities()에 대해 상수 ENT_XML1이 버전 5.4.0에 추가되었으므로 버전 5.3.2가 "ENT_XML1을 (를) 가정하는"것을 기본 설정으로 알고 있는지 궁금합니다. 5.3.2 릴리스에서 추가했을 가능성이 있습니까? 그것은 PHP5 ChangeLog에 나에게 뛰어 내리지 않았다.

참고 : 스크립트가 $ xml 문자열의 html 항목을 변환하는 것처럼 보입니다.

답변

1

실제로 오류가 발생한다는 것은 PHP가 ENT_XML1을 상수로 인식하지 못하므로 'ENT_XML1'문자열로 변환한다는 것을 의미합니다. 를 htmlentities 당신이 그것을 적절한 플래그를 통과하지 있기 때문에 당신이 그것을 할 싶어 일을하지 않는 것은

htmlentities(ENT_QUOTES | 'ENT_XML1')

이하지에 대한

htmlentities(ENT_QUOTES | ENT_XML1)

+0

감사와 동일한 상수 설명! – Alan