2010-09-08 3 views
0

Я переместил мой сайт на новый сервер, и я заметил, что строки, возвращаемые из базы данных, у которых есть кавычки, автоматически сбрасываются с помощью обратного слэша, поэтому у меня это появляется в моем выходном файле HTML \', где когда-либо есть цитата - Мне интересно, что вызывает это, директива PHP?Какая директива вызывает это?

Какие директивы в PHP или что-то еще могут вызвать это?

Спасибо всем за любую помощь

ответ

1

лучше использовать: var_dump(ini_get('magic_quotes_gpc'));

это приведет: строка (1) "1", если включен, или строка (0) "", если он отключен.

им заподозрить вы получите первый вариант, отображаемый в сценарии, так что вы, вероятно, хотите, чтобы включить это:

php_value magic_quotes_gpc off 
php_value magic_quotes_runtime off 

в файле .htaccess. Предполагая, что ваш хост позволяет переопределить .htaccess, это должно быть хорошо.

+0

Я получаю 'string (0)" "' return! Я уверен, что волшебные цитаты отключены. Плюс ли магические кавычки влияют на то, что возвращается из базы данных и печатается? Я думал, что он включен для глобальных переменных запроса? – Abs

+1

это не работает. Так что этого не может быть. Вы также перемещали свою базу данных? И если да, может ли это быть во время копирования этих экранов? Как и в, эти обратные косые черты теперь хранятся в вашем db? – Amelia

+0

хорошо вопрос. Исследуя. – Abs

2

Магия Котировки http://php.net/manual/en/security.magicquotes.php

Когда на, все '(одинарные кавычки), "(двойные кавычки), \ (обратный слэш) и NULL символы экранируются с . обратная косая автоматически Это идентично тому, что addslashes() делает

Отключение:.

Пример # 1 Отключение ма gic цитирует серверную сторону

Пример, который устанавливает значение этих директив Off в php.ini. Для получения дополнительной информации прочитайте раздел руководства «Как изменить параметры конфигурации».

; Magic quotes 
; 

; Magic quotes for incoming GET/POST/Cookie data. 
magic_quotes_gpc = Off 

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. 
magic_quotes_runtime = Off 

; Use Sybase-style magic quotes (escape ' with '' instead of \'). 
magic_quotes_sybase = Off 

Если доступ к конфигурации сервера недоступен, использование .htaccess также является опцией. Например: php_flag magic_quotes_gpc Off

+0

Хотя PHP был скомпилирован с '--enable-magic-quotes' на новом сервере, оба' magic_quotes_gpc' и 'magic_quotes_runtime' отключены ?! – Abs

+0

@Abs Что является результатом 'echo ini_get ('magic_quotes_gpc');' после размещения и запуска в одном из ваших скриптов, где вы видите это поведение? –

+0

это еще страннее - я не могу получить от этого! Я вижу, что пустая строка или пустое пространство. Я отредактировал тот же самый сценарий, чтобы сеять phpinfo, и он говорит, что директива отключена. Ой, подождите, это прекрасно, так как он настроен на выключение - ничего не будет показывать, не так ли? – Abs

Смежные вопросы