2013-08-30 49 views
0

我們正在使用PHP版本5.3.2 FastCGI的lighttpd的1.4.26下:PHP 5.3.2和ヶ輛標誌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 

我有一個PHP腳本正在生成一個通知Lighttpd的網站服務器錯誤日誌:

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($xml, ENT_QUOTES | ENT_XML1, 'UTF-8') 

文檔對於htmlentities()表示在版本5.4.0中添加了常量ENT_XML1,所以我想知道5.3.2版本知道如何將「ENT_XML1」假設爲默認值? 5.3.2版本可能增加了這一點嗎?它沒有跳出我的PHP5 ChangeLog

注意:該腳本確實似乎正在轉換$ xml字符串中的html實體。

回答

1

您實際得到的錯誤意味着php不會將ENT_XML1識別爲常量,因此將其轉換爲字符串'ENT_XML1'。ヶ輛是不是做你想要它做的事情,因爲你沒有傳遞正確的標誌常數

htmlentities(ENT_QUOTES | 'ENT_XML1')

是不一樣的

htmlentities(ENT_QUOTES | ENT_XML1)

+0

感謝說明! – Alan