Я переместил мой сайт на новый сервер, и я заметил, что строки, возвращенные из базы данных, у которых есть кавычки, автоматически сбрасываются с помощью обратного слэша, поэтому я вижу это в моем выходном файле HTML \'
, где когда-либо есть цитата - мне интересно, что вызывает это, директива PHP?
Какие директивы в PHP или что-нибудь еще могут вызвать это?
Спасибо всем за помощь
лучшее использование: var_dump(ini_get('magic_quotes_gpc'));
это приведет к: string (1) "1", если включено, или string (0) "", если отключено.
im подозревая, что вы получите первый вариант, отображаемый в script, поэтому вы, вероятно, захотите включить это:
php_value magic_quotes_gpc off
php_value magic_quotes_runtime off
в файле .htaccess. Предполагая, что ваш хост позволяет переопределить .htaccess, это должно быть хорошо.
Волшебные кавычки http://php.net/manual/en/security.magicquotes.php
При включении все символы (одиночная кавычка), "(двойная кавычка),\(обратная косая черта) и NULL автоматически сбрасываются с обратным слэшем. Это идентично тому, что делает функция addslashes().
Отключение:
Пример # 1 Отключение сервера магических кавычек
Пример, который устанавливает значение этих директив 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 Выкл.
--enable-magic-quotes
на новом сервере, оба параметра magic_quotes_gpc
и magic_quotes_runtime
отключены ?!
echo ini_get('magic_quotes_gpc');
после размещения и запуска в одном из ваших скриптов, где вы видите это поведение?
string(0) ""
возвращается! Я уверен, что магические цитаты отключены. Плюс магические кавычки влияют на то, что возвращается из базы данных и печатается? Я думал, что это было для глобальных переменных запроса?