我试图在这些地方关闭魔术引号:
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
我相信他们都是“关闭”。
但它在phpinfo()中仍然是ON!这是我的phpinfo()
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
唯一可行的方法是将php_flag magic_quotes_gpc Off
添加到.htaccess。
现在我要在php.ini
中禁用它。怎么可以?
修改
phpinfo()显示:
Configuration File (php.ini) Path /etc/php5/apache2
Loaded Configuration File /php.ini
所以我打开了/etc/php5/apache2/php.ini。这些是与魔术相关的东西:
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
; http://php.net/magic-quotes-runtime
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
; http://php.net/magic-quotes-sybase
magic_quotes_sybase = Off
答案 0 :(得分:1)
PHP应该尊重php.ini的设置,因此如果默认值也报告为“On”,则PHP可能无法从.ini文件中读取该值。
以下是该做什么:
与我们分享您添加到php.ini中的配置行以禁用它。可能是你刚刚输了一个错字。看起来应该是这样的。
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
确保ini文件中没有多次出现magic_quotes_gpc!
确保您正在编辑正确的.ini文件!打开phpinfo()
的输出,查看“配置文件(php.ini)路径”和“解析的其他.ini文件”。检查这些文件以查找magic_quotes_gpc
条目。
虽然考虑到您所说的phpinfo()
报告的内容不太可能出现问题,但请确保您没有覆盖网络服务器配置中的内容。
答案 1 :(得分:0)
在你的php文件中使用此功能,它将起作用
set_magic_quotes_runtime(false);
注意强>
从PHP 5.3.0开始,此函数已被弃用,自PHP 5.4.0起已被删除。