Php 神奇的引号不是';t关闭(奇怪的问题!)

Php 神奇的引号不是';t关闭(奇怪的问题!),php,Php,我尝试在以下位置关闭神奇的引号: /etc/php5/apache2/php.ini /etc/php5/cli/php.ini 我肯定他们都是“关”的 但它仍然在phpinfo()中打开!这是我的phpinfo() 它工作的唯一方法是将php\u flag magic\u quotes\u gpc Off添加到.htaccess 现在我想在php.ini中禁用它。怎么能 编辑: phpinfo()显示: 所以我打开了/etc/php5/apache2/php.ini。以下是与魔术格言相关的内容

我尝试在以下位置关闭神奇的引号:
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
我肯定他们都是“关”的

但它仍然在phpinfo()中打开!这是我的phpinfo()

它工作的唯一方法是将
php\u flag magic\u quotes\u gpc Off
添加到.htaccess

现在我想在
php.ini
中禁用它。怎么能

编辑:

phpinfo()显示:

所以我打开了/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

在php文件中使用此函数,它将正常工作

set_magic_quotes_runtime(false);
注意


从PHP 5.3.0开始,此函数已被弃用,并从PHP 5.4.0开始删除。

PHP.ini的设置应得到PHP的尊重,因此,如果默认值也报告为“开”,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\u quotes\u gpc
    条目

    • 请注意,无论是在CLI上运行phpinfo()还是使用web服务器运行phpinfo(),都可能有所不同
  • 尽管考虑到您所说的
    phpinfo()
    reported,这不太可能成为问题,但请确保您没有覆盖web服务器配置中的内容


  • 在做了这些更改后,您是否重新启动了服务器?是的,在一次更改后,我重新启动了Apache2是您的本地服务器还是像
    godaddy
    这样的主实时服务器?您还应该重新启动PHP
    sudo服务php5 fpm重启
    可能您编辑了错误的ini文件?查看phpinfo的输出,记下“加载的配置文件”中提到的文件。添加了问题信息。只有一次出现magic_quotes_gpc。OP指的是
    magic_quotes_gpc
    的设置,而不是
    magic_quotes_runtime
    。没有相应的PHP函数在运行时设置
    magic\u quotes\u gpc
    (只能在PHP.ini、.htaccess、server config等中设置)。
    set_magic_quotes_runtime(false);
    
    magic_quotes_gpc = Off
    magic_quotes_runtime = Off
    magic_quotes_sybase = Off