虚拟服务器更改

时间:2014-02-15 16:04:51

标签: php mysql version

我从Windows电脑上的Xamp移动到Mac上的Mamp。并且Php版本将tom 5.4.19移动到5.5.3。 我导出并导入了我的Mysql数据库,它工作正常。但是,当我在Xamp中完美地运行.php文件时,他们现在给我错误,如下所示

    Notice: Use of undefined constant “root†- assumed '“rootâ€' in /Applications/MAMP/htdocs/2_Documents/upload.php on line 20

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Applications/MAMP/htdocs/2_Documents/upload.php on line 20

Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in /Applications/MAMP/htdocs/2_Documents/upload.php on line 20
Access denied for user 'root'@'localhost' (using password: YES)

似乎有一个问题是Mysql_connect():不再接受在旧服务器上工作的事实。 如何顺利管理脚本升级?没有回写所有代码?

1 个答案:

答案 0 :(得分:0)

你有一个不同的php配置,它显示你之前可能已经被压制过的警告。你很可能现在也使用更新的php版本。

  • 第一个通知是关于严格模式下的语法错误,您可能忘记了文字字符串周围的引号。 可能也表示字符编码问题,但我们无法告诉您提供的少量信息。
  • 第二个说明了一点:旧的mysql扩展已被弃用。将您的代码移植到更新(更安全)的mysqli扩展或PDO。开始使用“预备语句”来防止像“sql注入”这样的安全问题。请参阅谷歌的示例或优秀的PHP文档。
  • 关于连接错误:我们无法对你的凭据说什么......看起来你在旧系统上使用了一个完全开放的mysql服务器和mysql root帐户。你不应该这样做。显然,较新的系统在这方面更加封闭,这是一个好主意。

当你解决了这些问题时,你应该将php重新配置为根本不显示错误和警告,因为它们会破坏你的输出。使用phps日志记录工具,尤其是在生产站点。