2

我试图在这些地方关闭魔术引号: /etc/php5/apache2/php.ini /etc/php5/cli/php.ini 我确定它们都是“关闭”的。

但它仍然在 phpinfo() 中打开!这是我的 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
4

2 回答 2

1

PHP 应该尊重 php.ini 的设置,因此如果默认值也报告为“开”,则 PHP 可能无法从您的 .ini 文件中读取该值。

这是做什么:

  1. 与我们分享您添加到 php.ini 以禁用它的配置行。可能是您刚刚打错字了。它应该看起来像这样。

    magic_quotes_gpc = Off
    magic_quotes_runtime = Off
    magic_quotes_sybase = Off
    
  2. 确保您的 ini 文件中没有多次出现 magic_quotes_gpc!

  3. 确保您正在编辑正确的 .ini 文件!打开您phpinfo()的输出,然后查看“配置文件 (php.ini) 路径”和“已解析的其他 .ini 文件”。检查这些文件以获取magic_quotes_gpc.

    • 请注意,您是在 CLI 上运行 phpinfo() 还是使用您的 Web 服务器可能会有所不同!
  4. 尽管考虑到您所说的报告内容,这不太可能成为问题phpinfo(),但请确保您没有覆盖 Web 服务器配置中的内容。

于 2013-05-08T10:03:54.643 回答
0

在你的 php 文件中使用这个函数,它会起作用

set_magic_quotes_runtime(false);

笔记

自 PHP 5.3.0 起,该函数已被弃用,自 PHP 5.4.0 起已移除。

于 2013-05-08T09:56:33.777 回答