我设立了一个带有教程的专用服务器。
我在 PHP 中设置:
mbstring.language=UTF-8
mbstring.internal_encoding=UTF-8
mbstring.http_input=UTF-8
mbstring.http_output=UTF-8
mbstring.detect_order=auto
但是每次密码中出现一个$
(我有一个用于 mysql 根目录 + 其他脚本的密码)时,密码就不起作用。
例如,我刚刚删除了$
脚本的密码,它就起作用了。
当我通过 phpmyadmin 连接 mysql 上的 @root 时:不起作用 当我通过 PHP 连接 @root 时:起作用
请问我该如何解决这个问题?
PS:当我通过控制台连接 mysql 时,我的密码有效
答案1
好的,问题找到了,只发生在 Firefox 上。我清理了所有缓存 + cookies。问题解决了。
很奇怪。但解决了。谢谢大家 ;)
答案2
PHP 中的 $ 具有特殊含义,如果在双引号(“)字符串中使用,则应将其转义。或者您应该使用单引号(')字符串:
"Pa$$word"
不会起作用,而
"Pa\$\$word"
和
'Pa$$word'
将工作。
答案3
在您的 php 配置中,将 magic-quotes-runtime 变量设置为反之亦然。以下是更多信息:http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime. phpmyadmin 将能够支持包含 $ 的密码。&也使用最新版本的 PMA。